[git commit prelink] i386: extend IMA guards to also cover LTO

Bernhard Reutner-Fischer rep.dot.nop at gmail.com
Wed Mar 30 11:53:36 UTC 2011


commit: http://git.uclibc.org/uClibc/commit/?id=d0aa7016ee1a95849a5a448083d8f8e675d80b5b
branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/prelink

See GCC PR47577; TODO: Remove them.

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop at gmail.com>
---
 libc/sysdeps/linux/i386/bits/syscalls.h |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/libc/sysdeps/linux/i386/bits/syscalls.h b/libc/sysdeps/linux/i386/bits/syscalls.h
index 9184bd6..eeafb3a 100644
--- a/libc/sysdeps/linux/i386/bits/syscalls.h
+++ b/libc/sysdeps/linux/i386/bits/syscalls.h
@@ -43,9 +43,12 @@
 
 /* We need some help from the assembler to generate optimal code.
  * We define some macros here which later will be used.  */
+/* gcc>=4.6 with LTO need the same guards as IMA (a.k.a --combine) did.
+ * See gcc.gnu.org/PR47577  */
+/* FIXME: drop these b* macros! */
 
 __asm__ (
-#ifdef __DOMULTI__
+#if defined __DOMULTI__ || __GNUC_PREREQ (4, 6)
 	/* Protect against asm macro redefinition (happens in __DOMULTI__ mode).
 	 * Unfortunately, it ends up visible in .o files. */
 	".ifndef _BITS_SYSCALLS_ASM\n\t"
@@ -92,7 +95,7 @@ __asm__ (
 	".endif\n\t"
 	".endm\n\t"
 
-#ifdef __DOMULTI__
+#if defined __DOMULTI__ || __GNUC_PREREQ (4, 6)
 	".endif\n\t" /* _BITS_SYSCALLS_ASM */
 #endif
 );
-- 
1.7.3.4



More information about the uClibc-cvs mailing list