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