[git commit master 1/1] i386: extend IMA guards to also cover LTO
Bernhard Reutner-Fischer
rep.dot.nop at gmail.com
Wed Feb 9 19:21:12 UTC 2011
commit: http://git.uclibc.org/uClibc/commit/?id=d0aa7016ee1a95849a5a448083d8f8e675d80b5b
branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/master
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