diff options
Diffstat (limited to 'media-libs/mesa/files/mesa-10.3.7-dont-use-clrsb.patch')
-rw-r--r-- | media-libs/mesa/files/mesa-10.3.7-dont-use-clrsb.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/media-libs/mesa/files/mesa-10.3.7-dont-use-clrsb.patch b/media-libs/mesa/files/mesa-10.3.7-dont-use-clrsb.patch new file mode 100644 index 00000000..c38757dc --- /dev/null +++ b/media-libs/mesa/files/mesa-10.3.7-dont-use-clrsb.patch @@ -0,0 +1,36 @@ +From 32e98e8ef06f0bb6ad55f9fb5858be77c03367b0 Mon Sep 17 00:00:00 2001 +From: Matt Turner <mattst88@gmail.com> +Date: Mon, 2 Feb 2015 17:26:49 -0800 +Subject: [PATCH] gallium/util: Don't use __builtin_clrsb in util_last_bit(). + +Unclear circumstances lead to undefined symbols on x86. + +Bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=536916 +Cc: mesa-stable@lists.freedesktop.org +Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> +--- + src/gallium/auxiliary/util/u_math.h | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/src/gallium/auxiliary/util/u_math.h b/src/gallium/auxiliary/util/u_math.h +index 19c7343..ca6d0f1 100644 +--- a/src/gallium/auxiliary/util/u_math.h ++++ b/src/gallium/auxiliary/util/u_math.h +@@ -561,14 +561,10 @@ util_last_bit(unsigned u) + static INLINE unsigned + util_last_bit_signed(int i) + { +-#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 407) && !defined(__INTEL_COMPILER) +- return 31 - __builtin_clrsb(i); +-#else + if (i >= 0) + return util_last_bit(i); + else + return util_last_bit(~(unsigned)i); +-#endif + } + + /* Destructively loop over all of the bits in a mask as in: +-- +2.0.4 + |