summaryrefslogtreecommitdiff
path: root/core/glibc/glibc-__i686.patch
diff options
context:
space:
mode:
Diffstat (limited to 'core/glibc/glibc-__i686.patch')
-rw-r--r--core/glibc/glibc-__i686.patch44
1 files changed, 31 insertions, 13 deletions
diff --git a/core/glibc/glibc-__i686.patch b/core/glibc/glibc-__i686.patch
index 28d5dd424..16f84c536 100644
--- a/core/glibc/glibc-__i686.patch
+++ b/core/glibc/glibc-__i686.patch
@@ -1,13 +1,31 @@
-diff -Naur glibc-old//sysdeps/i386/Makefile glibc//sysdeps/i386/Makefile
---- glibc-old//sysdeps/i386/Makefile 2010-03-18 11:52:30.000000000 +1000
-+++ glibc//sysdeps/i386/Makefile 2010-04-16 15:05:50.000000000 +1000
-@@ -1,6 +1,7 @@
- # The mpn functions need a #define for asm syntax flavor.
--# Every i386 port in use uses gas syntax (I think).
--asm-CPPFLAGS += -DGAS_SYNTAX
-+# Every i386 port in use uses gas syntax (I think). Don't replace
-+# __i686 in __i686.get_pc_thunk.bx.
-+asm-CPPFLAGS += -DGAS_SYNTAX -U __i686
-
- # The i386 `long double' is a distinct type we support.
- long-double-fcts = yes
+diff --git a/nptl/sysdeps/pthread/pt-initfini.c b/nptl/sysdeps/pthread/pt-initfini.c
+index 9c00dc0..f5d4df8 100644
+--- a/nptl/sysdeps/pthread/pt-initfini.c
++++ b/nptl/sysdeps/pthread/pt-initfini.c
+@@ -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 --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h
+index 64ef400..726b1df 100644
+--- a/sysdeps/unix/sysv/linux/i386/sysdep.h
++++ b/sysdeps/unix/sysv/linux/i386/sysdep.h
+@@ -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