shine: fix mips64 (octeon) build error 1673/head
authorDirk Neukirchen <dirkneukirchen@web.de>
Fri, 8 May 2015 08:04:50 +0000 (10:04 +0200)
committerDirk Neukirchen <dirkneukirchen@web.de>
Wed, 19 Aug 2015 10:15:46 +0000 (12:15 +0200)
error reported by buildbot, replicated locally:
wave.c:(.text+0x8e4): undefined reference to `__builtin_bswap16'

It seems that gcc builtin function is not working for mips64

according to
https://gcc.gnu.org/ml/gcc-patches/2014-01/msg00551.html
bswap patterns only work in >4.8 so the compiler
check in wave.c seems inconsistent across different archs
as octeon has gcc 4.6

make it require gcc >=4.8

Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>
sound/shine/patches/001-fix_mips64_bswap.patch [new file with mode: 0644]

diff --git a/sound/shine/patches/001-fix_mips64_bswap.patch b/sound/shine/patches/001-fix_mips64_bswap.patch
new file mode 100644 (file)
index 0000000..8c42297
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/src/bin/wave.c
++++ b/src/bin/wave.c
+@@ -168,7 +168,7 @@ unsigned char wave_open(const char *fnam
+ }
+ #ifdef SHINE_BIG_ENDIAN
+-#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2))
++#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8))
+ #define bswap_16(x) __builtin_bswap16(x)
+ #else
+ #define bswap_16(x) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8))