summaryrefslogtreecommitdiff
path: root/repo/sbc/fix-build-on-non-x86.patch
blob: 0d54ae2865482e3f005e73e37c9390067f435afa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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: [PATCH] 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
 }
 
 /*
-- 
2.30.1