Undefine and redefine __i686 for assembly code.
authorJoseph Myers <joseph@codesourcery.com>
Mon, 6 Feb 2012 23:01:25 +0000 (23:01 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Mon, 6 Feb 2012 23:01:25 +0000 (23:01 +0000)
ChangeLog
sysdeps/i386/sysdep.h

index b0e625b..0f74311 100644 (file)
--- 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.
index 1dbb8e1..c1dac6c 100644 (file)
 #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)