[PATCH v2] intl: reintroduce unintentionally disabled optimization

Dmitry V. Levin ldv@altlinux.org
Sun Jan 24 18:13:00 GMT 2016


HAVE_BUILTIN_EXPECT macro was removed by commit glibc-2.14-280-g3ce1f29,
but then its use was unintentionally reintroduced during merge with GNU
gettext 0.19.3 by commit glibc-2.20-324-g6d24885, effectively disabling
all optimization based on __builtin_expect.  As intl files are also part
of GNU gettext, HAVE_BUILTIN_EXPECT macro cannot be removed, so define
it unconditionally in config.h.in instead.

[BZ #19512]
* config.h.in (HAVE_BUILTIN_EXPECT): New macro.
---
 config.h.in | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/config.h.in b/config.h.in
index ec9c8bc..13c0044 100644
--- a/config.h.in
+++ b/config.h.in
@@ -37,6 +37,11 @@
 /* Define if static NSS modules are wanted.  */
 #undef	DO_STATIC_NSS
 
+/* Assume that the compiler supports __builtin_expect.
+   This macro is necessary for proper compilation of code
+   shared between GNU libc and GNU gettext projects.  */
+#define HAVE_BUILTIN_EXPECT 1
+
 /* Define if the compiler supports __builtin_memset.  */
 #undef	HAVE_BUILTIN_MEMSET
 
-- 
ldv



More information about the Libc-alpha mailing list