|
@@ -0,0 +1,38 @@
|
|
|
+ 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
|