author | Zhenqiang Chen <zhenqiang.chen@linaro.org> |
Fri Nov 18 11:32:50 2011 +0800 (2011-11-18) | |
branch | 1.13 |
changeset 2841 | 64fe22ca6e6f |
parent 744 | 4bf8448536d5 |
permissions | -rw-r--r-- |
1 If gcc is configured to generate i686 code or better by default (like
2 when using the --with-arch=pentium3 configure option), then the __i686
3 macro will always be defined automatically and thus screw up the
4 compilation of some .S files.
6 http://bugs.gentoo.org/131108
7 http://sourceware.org/ml/libc-alpha/2006-04/msg00090.html
9 2006-04-25 Mike Frysinger <vapier@gentoo.org>
11 * sysdeps/i386/sysdep.h (__i686): Undefine.
13 Index: glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h
14 ===================================================================
15 --- glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h (revision 1469)
16 +++ glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h (working copy)
17 @@ -29,6 +29,10 @@
18 #include <dl-sysdep.h>
19 #include <tls.h>
21 +#if defined __i686 && defined __ASSEMBLER__
22 +#undef __i686
23 +#define __i686 __i686
24 +#endif
26 /* For Linux we can use the system call table in the header file
27 /usr/include/asm/unistd.h
28 Index: glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c
29 ===================================================================
30 --- glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c (revision 1469)
31 +++ glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c (working copy)
32 @@ -45,6 +45,11 @@
33 /* Embed an #include to pull in the alignment and .end directives. */
34 asm ("\n#include \"defs.h\"");
36 +asm ("\n#if defined __i686 && defined __ASSEMBLER__");
37 +asm ("\n#undef __i686");
38 +asm ("\n#define __i686 __i686");
39 +asm ("\n#endif");
40 +
41 /* The initial common code ends here. */
42 asm ("\n/*@HEADER_ENDS*/");