intl: reintroduce unintentionally disabled optimization
authorDmitry V. Levin <ldv@altlinux.org>
Sat, 23 Jan 2016 23:48:10 +0000 (23:48 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Mon, 22 Feb 2016 22:00:00 +0000 (22:00 +0000)
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.

ChangeLog
config.h.in

index 3c30a72..bba717a 100644 (file)
--- 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.
index ec9c8bc..13c0044 100644 (file)
 /* 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