1234567891011121314151617181920212223242526272829303132333435363738 |
- Fix for compiling glibc with -march=i686 specified.
- The patch below found at: http://permalink.gmane.org/gmane.linux.lfs.devel/9758,
- a nice discussion (with a comment of the glibc maintainer) can be found here:
- http://old.nabble.com/-RFC-PATCH--glibc-doesn%27t-build-with-%22gcc--march%3Di686%22-td17442608.html
-
- To me, this simply shows once more how fucked up things can be. E.g. the (related) bug report here:
- http://bugs.gentoo.org/show_bug.cgi?id=201815. There are lots of duplicates to it, many people are
- affected, one can find really elaborate reports. And the responsible gentoo developers are too
- elite to even point to the actual patch fixing the issue.
- diff -Naur glibc-2.11.1-orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c
- --- glibc-2.11.1-orig/nptl/sysdeps/pthread/pt-initfini.c 2009-12-08 20:10:20.000000000 +0000
- +++ glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c 2010-04-17 02:24:02.000000000 +0100
- @@ -45,6 +45,11 @@
- /* Embed an #include to pull in the alignment and .end directives. */
- asm ("\n#include \"defs.h\"");
-
- +asm ("\n#if defined __i686 && defined __ASSEMBLER__");
- +asm ("\n#undef __i686");
- +asm ("\n#define __i686 __i686");
- +asm ("\n#endif");
- +
- /* The initial common code ends here. */
- asm ("\n/*@HEADER_ENDS*/");
-
- diff -Naur glibc-2.11.1-orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h
- --- glibc-2.11.1-orig/sysdeps/unix/sysv/linux/i386/sysdep.h 2009-12-08 20:10:20.000000000 +0000
- +++ glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h 2010-04-17 02:24:02.000000000 +0100
- @@ -29,6 +29,10 @@
- #include <dl-sysdep.h>
- #include <tls.h>
-
- +#if defined __i686 && defined __ASSEMBLER__
- +#undef __i686
- +#define __i686 __i686
- +#endif
-
- /* For Linux we can use the system call table in the header file
- /usr/include/asm/unistd.h
|