about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@altlinux.org>2016-01-23 23:48:10 +0000
committerDmitry V. Levin <ldv@altlinux.org>2016-02-22 22:00:00 +0000
commit80fcb5c583b5b241e3796f10a09cbe8e1dd30b5a (patch)
tree3cc0e466c1732b0d39a77fc535fb960d3dea1e24
parentde6e5df27ead590c7f590a63665cb87764cf6de3 (diff)
downloadglibc-80fcb5c583b5b241e3796f10a09cbe8e1dd30b5a.tar.gz
glibc-80fcb5c583b5b241e3796f10a09cbe8e1dd30b5a.tar.xz
glibc-80fcb5c583b5b241e3796f10a09cbe8e1dd30b5a.zip
intl: reintroduce unintentionally disabled optimization
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.
-rw-r--r--ChangeLog5
-rw-r--r--config.h.in5
2 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 3c30a7298d..bba717acdd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2016-02-22  Dmitry V. Levin  <ldv@altlinux.org>
+
+	[BZ #19512]
+	* config.h.in (HAVE_BUILTIN_EXPECT): New macro.
+
 2016-02-22  Stefan Liebler  <stli@linux.vnet.ibm.com>
 
 	* posix/tst-dir.c: Include libc-internal.h.
diff --git a/config.h.in b/config.h.in
index ec9c8bc767..13c0044a69 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