summaryrefslogtreecommitdiffstats
path: root/media/libspeex_resampler/remove-empty-asm-clobber.patch
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /media/libspeex_resampler/remove-empty-asm-clobber.patch
parentInitial commit. (diff)
downloadfirefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz
firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'media/libspeex_resampler/remove-empty-asm-clobber.patch')
-rw-r--r--media/libspeex_resampler/remove-empty-asm-clobber.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/media/libspeex_resampler/remove-empty-asm-clobber.patch b/media/libspeex_resampler/remove-empty-asm-clobber.patch
new file mode 100644
index 0000000000..ebb6d66983
--- /dev/null
+++ b/media/libspeex_resampler/remove-empty-asm-clobber.patch
@@ -0,0 +1,33 @@
+https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html#Extended-Asm says
+
+ asm [volatile] ( AssemblerTemplate : [OutputOperands] [ : [InputOperands] [ : [Clobbers] ] ] )
+
+which implies that Clobbers is optional even after the third colon, but
+the gcc used for b2g_try_emulator_dep builds says
+
+resample_neon.c: In function 'saturate_32bit_to_16bit':
+resample_neon.c:50: error: expected string literal before ')' token
+
+diff --git a/media/libspeex_resampler/src/resample_neon.c b/media/libspeex_resampler/src/resample_neon.c
+--- a/media/libspeex_resampler/src/resample_neon.c
++++ b/media/libspeex_resampler/src/resample_neon.c
+@@ -41,18 +41,17 @@
+ #include <arm_neon.h>
+
+ #ifdef FIXED_POINT
+ #ifdef __thumb2__
+ static inline int32_t saturate_32bit_to_16bit(int32_t a) {
+ int32_t ret;
+ asm ("ssat %[ret], #16, %[a]"
+ : [ret] "=&r" (ret)
+- : [a] "r" (a)
+- : );
++ : [a] "r" (a));
+ return ret;
+ }
+ #else
+ static inline int32_t saturate_32bit_to_16bit(int32_t a) {
+ int32_t ret;
+ asm ("vmov.s32 d0[0], %[a]\n"
+ "vqmovn.s32 d0, q0\n"
+ "vmov.s16 %[ret], d0[0]\n"