aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/i386/sysdep.h8
2 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index b0e625b..0f74311 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2012-02-06 Joseph Myers <joseph@codesourcery.com>
+ [BZ #411]
+ * sysdeps/i386/sysdep.h (__i686): Undefine and redefine.
+
+2012-02-06 Joseph Myers <joseph@codesourcery.com>
+
* sysdeps/i386/sysdep.h: Include <features.h>.
(GET_PC_THUNK, GET_PC_THUNK_STR): Define conditionally on compiler
version.
diff --git a/sysdeps/i386/sysdep.h b/sysdeps/i386/sysdep.h
index 1dbb8e1..c1dac6c 100644
--- a/sysdeps/i386/sysdep.h
+++ b/sysdeps/i386/sysdep.h
@@ -23,7 +23,13 @@
#include <features.h> /* For __GNUC_PREREQ. */
/* It is desirable that the names of PIC thunks match those used by
- GCC so that multiple copies are eliminated by the linker. */
+ GCC so that multiple copies are eliminated by the linker. Because
+ GCC 4.6 and earlier use __i686 in the names, it is necessary to
+ override that predefined macro. */
+#if defined __i686 && defined __ASSEMBLER__
+#undef __i686
+#define __i686 __i686
+#endif
#ifdef __ASSEMBLER__
# if __GNUC_PREREQ (4, 7)