Jenkins build is failing with an unresolved symbol __builtin_bswap16.
The jenkins instance is on Debian 6 (oldstable) with gcc 4.4.5, which
doesn't provide an implementation for this.

Here's a quick patch to provide a fallback, which should unbreak the
integration tests.

 -r
From fce1c517987bf691e49a510ef09b3ca81646db69 Mon Sep 17 00:00:00 2001
From: Ralph Giles <gi...@thaumas.net>
Date: Wed, 2 Jul 2014 14:12:38 -0700
Subject: [PATCH] Fix bswap16 issue on Debian 6.

Versions of GCC prior to 4.8 didn't provide an implementation
of __builtin_bswap16 on x86_64. Detect those versions and
supply a fallback implementation. A cleaner fix would be
to detect bswap16 independently of bswap32 in configure
and handle them separately.

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52624
---
 include/share/endswap.h |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/include/share/endswap.h b/include/share/endswap.h
index 058fe0b..de933e6 100644
--- a/include/share/endswap.h
+++ b/include/share/endswap.h
@@ -33,6 +33,14 @@
 
 #if HAVE_BSWAP32                       /* GCC and Clang */
 
+/* GCC prior to 4.8 didn't provide bswap16 on x86_64 */
+#if __GNUC__ <= 4 && __GNUC_MINOR__ < 8
+static inline unsigned short __builtin_bswap16(unsigned short a)
+{
+    return (a<<8)|(a>>8);
+}
+#endif
+
 #define        ENDSWAP_16(x)           (__builtin_bswap16 (x))
 #define        ENDSWAP_32(x)           (__builtin_bswap32 (x))
 
-- 
1.7.2.5

_______________________________________________
flac-dev mailing list
flac-dev@xiph.org
http://lists.xiph.org/mailman/listinfo/flac-dev

Reply via email to