void-packages/srcpkgs/sbc/patches/fix-build-on-non-x86.patch

44 lines
1.4 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
}
/*
--