diff --git a/sbc-fix-non-x86.patch b/sbc-fix-non-x86.patch new file mode 100644 index 0000000..5e803fd --- /dev/null +++ b/sbc-fix-non-x86.patch @@ -0,0 +1,44 @@ +From 909a9bdf7ab143e1f0baaf9736baebd3cd79aacf Mon Sep 17 00:00:00 2001 +From: Marius Bakke +Date: Tue, 22 Dec 2020 11:04:26 +0000 +Subject: sbc_primitives: Fix build on non-x86. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Don't call __builtin_cpu_init unless targeting i386 or x86_64. +Otherwise we get an error at link time: + + CC sbc/sbc_primitives.lo +sbc/sbc_primitives.c: In function ‘sbc_init_primitives_x86’: +sbc/sbc_primitives.c:596:2: warning: implicit declaration of function ‘__builtin_cpu_init’; did you mean ‘__builtin_irint’? [-Wimplicit-function-declaration] +[...] + CCLD src/sbcdec +ld: sbc/.libs/libsbc-private.a(sbc_primitives.o): in function `sbc_init_primitives': +sbc_primitives.c:(.text+0x3a30): undefined reference to `__builtin_cpu_init' +--- + sbc/sbc_primitives.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/sbc/sbc_primitives.c b/sbc/sbc_primitives.c +index 97a75be..09c214a 100644 +--- a/sbc/sbc_primitives.c ++++ b/sbc/sbc_primitives.c +@@ -593,6 +593,7 @@ static int sbc_calc_scalefactors_j( + + static void sbc_init_primitives_x86(struct sbc_encoder_state *state) + { ++#if defined(__x86_64__) || defined(__i386__) + __builtin_cpu_init(); + + #ifdef SBC_BUILD_WITH_MMX_SUPPORT +@@ -604,6 +605,7 @@ static void sbc_init_primitives_x86(struct sbc_encoder_state *state) + if (__builtin_cpu_supports("sse4.2")) + sbc_init_primitives_sse(state); + #endif ++#endif + } + + /* +-- +cgit 1.2.3-1.el7 diff --git a/sbc.spec b/sbc.spec index 69cac3e..8cb72bb 100644 --- a/sbc.spec +++ b/sbc.spec @@ -6,6 +6,7 @@ Summary: Sub Band Codec used by bluetooth A2DP License: GPLv2 and LGPLv2+ URL: http://www.bluez.org Source0: http://www.kernel.org/pub/linux/bluetooth/%{name}-%{version}.tar.xz +Patch1: sbc-fix-non-x86.patch BuildRequires: make BuildRequires: gcc @@ -36,7 +37,7 @@ Requires: lib%{name}%{?_isa} = %{version}-%{release} Files for development with %{name}. %prep -%setup -q +%autosetup -p1 %build %configure --disable-static