Upstream build fix for non x86

This commit is contained in:
Peter Robinson 2021-08-22 20:41:04 +01:00
parent 3385760a21
commit c597a15da0
2 changed files with 46 additions and 1 deletions

44
sbc-fix-non-x86.patch Normal file
View File

@ -0,0 +1,44 @@
From 909a9bdf7ab143e1f0baaf9736baebd3cd79aacf Mon Sep 17 00:00:00 2001
From: Marius Bakke <marius@gnu.org>
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

View File

@ -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