pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/audio/furnace



Module Name:    pkgsrc
Committed By:   nia
Date:           Tue Jun 16 17:19:32 UTC 2026

Modified Files:
        pkgsrc/audio/furnace: distinfo
Added Files:
        pkgsrc/audio/furnace/patches: patch-extern_ESFMu_esfm.c

Log Message:
furnace: Disable invalid i386 assembler.

The NetBSD toolchain does not accept this as valid i386 assembler,
so remove it, and use the portable C fallback.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 pkgsrc/audio/furnace/distinfo
cvs rdiff -u -r0 -r1.1 pkgsrc/audio/furnace/patches/patch-extern_ESFMu_esfm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/audio/furnace/distinfo
diff -u pkgsrc/audio/furnace/distinfo:1.2 pkgsrc/audio/furnace/distinfo:1.3
--- pkgsrc/audio/furnace/distinfo:1.2   Mon Dec  2 07:47:47 2024
+++ pkgsrc/audio/furnace/distinfo       Tue Jun 16 17:19:32 2026
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.2 2024/12/02 07:47:47 nia Exp $
+$NetBSD: distinfo,v 1.3 2026/06/16 17:19:32 nia Exp $
 
 BLAKE2s (fmtlib-fmt-e57ca2e3685b160617d3d95fcd9e789c4e06ca88.tar.gz) = 0c26788aa7386a5754de960f089559616662a09030d4be69004deda6e61f678a
 SHA512 (fmtlib-fmt-e57ca2e3685b160617d3d95fcd9e789c4e06ca88.tar.gz) = b1bcd06c93bfec3f7a41c31a90ea55d653062f12701e1531bcfbbd27b7deddb3429e77655e4586758aa0992a4ccce30af66117f325583268e5f38d3908ae91a3
@@ -10,5 +10,6 @@ BLAKE2s (superctr-adpcm-ef7a217154badc3b
 SHA512 (superctr-adpcm-ef7a217154badc3b99978ac481b268c8aab67bd8.tar.gz) = 
40b6f042a56532681e731da8d63c28abd3d824ce660060bc7e296ff9d1ad994d358189fc441458a86eb1506bce47f8364b09ebe1a2d475d308345058b7f4bfb0
 Size (superctr-adpcm-ef7a217154badc3b99978ac481b268c8aab67bd8.tar.gz) = 5497 bytes
 SHA1 (patch-CMakeLists.txt) = e924b30f612f4e1e6e38987ad8365008045e113e
+SHA1 (patch-extern_ESFMu_esfm.c) = 5ffe67ce4f9fea1c626d2146e9df48e000163a2b
 SHA1 (patch-extern_imgui__patched_backends_imgui__impl__opengl3__loader.h) = 97586b9d39f8dd25ec5631b1251ea8bc33232cf6
 SHA1 (patch-src_engine_export_zsm.cpp) = 9afbf92ff465fdf1ec9e81d3d93831e4872b1309

Added files:

Index: pkgsrc/audio/furnace/patches/patch-extern_ESFMu_esfm.c
diff -u /dev/null pkgsrc/audio/furnace/patches/patch-extern_ESFMu_esfm.c:1.1
--- /dev/null   Tue Jun 16 17:19:32 2026
+++ pkgsrc/audio/furnace/patches/patch-extern_ESFMu_esfm.c      Tue Jun 16 17:19:32 2026
@@ -0,0 +1,82 @@
+$NetBSD: patch-extern_ESFMu_esfm.c,v 1.1 2026/06/16 17:19:32 nia Exp $
+
+The NetBSD toolchain does not accept this as valid i386 assembler,
+so remove it, and use the portable C fallback.
+
+esfm.c:1854:25: error: 'asm' operand has impossible constraints
+
+--- extern/ESFMu/esfm.c.orig   2026-06-16 17:16:26.438749656 +0000
++++ extern/ESFMu/esfm.c
+@@ -1850,72 +1850,6 @@ ESFM_process_feedback(esfm_chip *chip)
+                                 [exprom] "m"   (exprom)
+                               : "cc", "ax", "bx", "cx", "dx", "r8", "r9", "r10", "r11"
+                       );
+-#elif defined(__GNUC__) && defined(__i386__)
+-                      asm (
+-                              "movzbl  %b[wave], %%eax             \n\t"
+-                              "shll    $11, %%eax                  \n\t"
+-                              "leal    %[sinrom], %%edi            \n\t"
+-                              "addl    %%eax, %%edi                \n\t"
+-                              "shlw    $3, %[eg_out]               \n\t"
+-                              "xorl    %[out], %[out]              \n\t"
+-                              "movl    %[out], %[last]             \n\t"
+-                              "movl    $29, %[i]                   \n"
+-                              "1:                                  \n\t"
+-                              // phase_feedback = (wave_out + wave_last) >> 2;
+-                              "movl    %[out], %%eax               \n\t"
+-                              "addl    %[last], %%eax              \n\t"
+-                              "sarl    $2, %%eax                   \n\t"
+-                              "movl    %%eax, %[p_fb]              \n\t"
+-                              // wave_last = wave_out
+-                              "movl    %[out], %[last]             \n\t"
+-                              // phase = phase_feedback >> mod_in_shift;
+-                              "movb    %[mod_in], %%cl             \n\t"
+-                              "sarl    %%cl, %%eax                 \n\t"
+-                              // phase += phase_acc >> 9;
+-                              "movl    %[p_acc], %%ebx             \n\t"
+-                              "shrl    $9, %%ebx                   \n\t"
+-                              "addl    %%ebx, %%eax                \n\t"
+-                              // lookup = logsinrom[(waveform << 10) | (phase & 0x3ff)];
+-                              "andl    $0x3ff, %%eax               \n\t"
+-                              "movzwl  (%%edi, %%eax, 2), %%ebx    \n\t"
+-                              "movl    %%ebx, %%eax                \n\t"
+-                              // level = (lookup & 0x1fff) + (envelope << 3);
+-                              "movl    $0x1fff, %%ecx              \n\t"
+-                              "andl    %%ecx, %%eax                \n\t"
+-                              "addw    %[eg_out], %%ax             \n\t"
+-                              // if (level > 0x1fff) level = 0x1fff;
+-                              "cmpl    %%ecx, %%eax                \n\t"
+-                              "cmoval  %%ecx, %%eax                \n\t"
+-                              // wave_out = exprom[level & 0xff] >> (level >> 8);
+-                              "movb    %%ah, %%cl                  \n\t"
+-                              "movzbl  %%al, %%eax                 \n\t"
+-                              "leal    %[exprom], %[out]           \n\t"
+-                              "movzwl  (%[out], %%eax, 2), %[out]  \n\t"
+-                              "shrl    %%cl, %[out]                \n\t"
+-                              // if (lookup & 0x8000) wave_out = -wave_out;
+-                              // in other words, lookup is negative
+-                              "movl    %[out], %%ecx               \n\t"
+-                              "negl    %%ecx                       \n\t"
+-                              "testw   %%bx, %%bx                  \n\t"
+-                              "cmovsl  %%ecx, %[out]               \n\t"
+-                              // phase_acc += phase_offset
+-                              "addl    %[p_off], %[p_acc]          \n\t"
+-                              // loop
+-                              "decl    %[i]                        \n\t"
+-                              "jne     1b                          \n\t"
+-                              : [p_fb]   "=&m" (phase_feedback),
+-                                [p_acc]  "+r"  (phase_acc),
+-                                [out]    "=&r" (wave_out),
+-                                [last]   "=&m" (wave_last),
+-                                [eg_out] "+m"  (eg_output)
+-                              : [p_off]  "m"   (phase_offset),
+-                                [mod_in] "m"   (mod_in_shift),
+-                                [wave]   "m"   (waveform),
+-                                [sinrom] "m"   (logsinrom),
+-                                [exprom] "m"   (exprom),
+-                                [i]      "m"   (iter_counter)
+-                              : "cc", "ax", "bx", "cx", "di"
+-                      );
+ #elif defined(__GNUC__) && defined(__arm__)
+                       asm (
+                               "movs    r3, #0                     \n\t"



Home | Main Index | Thread Index | Old Index