about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorRichard Smith <richard@metafoo.co.uk>2013-05-01 20:32:38 +1000
committerAllan McRae <allan@archlinux.org>2013-05-01 21:59:01 +1000
commit0695940b8ab4b7e69492e8ea071d19fc17dda092 (patch)
treedadb4df1e2b53a9193f0b3b002902923663f8be9 /ChangeLog
parent10de07f5fdd9eaf3a808d4461401f5b661095614 (diff)
downloadglibc-0695940b8ab4b7e69492e8ea071d19fc17dda092.tar.gz
glibc-0695940b8ab4b7e69492e8ea071d19fc17dda092.tar.xz
glibc-0695940b8ab4b7e69492e8ea071d19fc17dda092.zip
Use __gnu_inline__ for __extern_always_inline in g++-4.2
Use the __gnu_inline__ attribute in _FORTIFY_SOURCE's __extern_always_inline
macro whenever the compiler supports it. Previously this macro only included
the __gnu_inline__ attribute in C++ mode for gcc >= 4.3. However,
__gnu_inline__ semantics are always desired for the __extern_always_inline
functions, and are available in g++ 4.2 (and some releases of g++ 4.1, and
also in Clang, which claims to be g++ 4.2).

This change stops g++-4.2 from emitting weak definitions for the fortify
wrapper functions if they can't be inlined, and also improves Clang
compatibility.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog8
1 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index b584840009..f9a9bdcbea 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2013-05-01  Richard Smith  <richard@metafoo.co.uk>
+
+	* misc/sys/cdefs.h (__extern_inline, __extern_always_inline)
+	[__GNUC__ && (__GNUC_STDC_INLINE__ || __GNUC_GNU_INLINE__)]:
+	Use __attribute__ ((__gnu_inline__)).
+	[__GNUC__ && !(__GNUC_STDC_INLINE__ || __GNUC_GNU_INLINE__)]:
+	Don't use __attribute__ ((__gnu_inline__)).
+
 2013-05-01  Joseph Myers  <joseph@codesourcery.com>
 
 	[BZ #15423]