aboutsummaryrefslogtreecommitdiff
path: root/audio/pulseaudio
diff options
context:
space:
mode:
authorRobert Clausecker <fuz@FreeBSD.org>2023-10-07 05:51:21 +0000
committerRobert Clausecker <fuz@FreeBSD.org>2023-10-09 07:40:29 +0000
commit3dd02a0fe712c2b67ab0e15444d9fbb4f00b3817 (patch)
tree5659d1007d508797ffbbc802682c76d04a53b376 /audio/pulseaudio
parentf6c3a4092779ca6fc4db3cf5bcb387fa3b268921 (diff)
downloadports-3dd02a0fe712c2b67ab0e15444d9fbb4f00b3817.tar.gz
ports-3dd02a0fe712c2b67ab0e15444d9fbb4f00b3817.zip
audio/pulseaudio: fix build on armv7
The inline assembly template modifier h is not supported by clang. With gcc, it prints a 128 bit NEON register as a pair of halves. Emulate its effect through the e and f modifiers, which are supported by both. Approved by: portmgr (build fix blanket) MFH: 2023Q4
Diffstat (limited to 'audio/pulseaudio')
-rw-r--r--audio/pulseaudio/files/patch-src_pulsecore_mix__neon.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/audio/pulseaudio/files/patch-src_pulsecore_mix__neon.c b/audio/pulseaudio/files/patch-src_pulsecore_mix__neon.c
new file mode 100644
index 000000000000..08fc02b299f8
--- /dev/null
+++ b/audio/pulseaudio/files/patch-src_pulsecore_mix__neon.c
@@ -0,0 +1,13 @@
+--- src/pulsecore/mix_neon.c.orig 2023-10-07 05:45:10 UTC
++++ src/pulsecore/mix_neon.c
+@@ -176,8 +176,8 @@ static void pa_mix2_ch4_s16ne_neon(pa_mix_info streams
+ int32x4_t sv0, sv1;
+
+ __asm__ __volatile__ (
+- "vld1.s32 %h[sv0], [%[lin0]] \n\t"
+- "vld1.s32 %h[sv1], [%[lin1]] \n\t"
++ "vld1.s32 {%e[sv0],%f[sv0]}, [%[lin0]] \n\t"
++ "vld1.s32 {%e[sv1],%f[sv1]}, [%[lin1]] \n\t"
+ : [sv0] "=w" (sv0), [sv1] "=w" (sv1)
+ : [lin0] "r" (streams[0].linear), [lin1] "r" (streams[1].linear)
+ : /* clobber list */