---- glibc-2.11.1/sysdeps/i386/sysdep.h~ 2009-12-08 21:10:20.000000000 +0100
-+++ glibc-2.11.1/sysdeps/i386/sysdep.h 2010-04-24 23:17:12.477558192 +0200
-@@ -133,6 +133,8 @@
- cfi_adjust_cfa_offset (-4); \
- addl $_GLOBAL_OFFSET_TABLE+[.-0b], %ebx;
+--- glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h.org 2010-04-24 23:45:37.399887418 +0200
++++ glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h 2010-04-24 23:58:08.906478499 +0200
+@@ -29,6 +29,10 @@
+ #include <dl-sysdep.h>
+ #include <tls.h>
-+# define __old__i686 __i686
-+# undef __i686
- # define SETUP_PIC_REG(reg) \
- .ifndef __i686.get_pc_thunk.reg; \
- .section .gnu.linkonce.t.__i686.get_pc_thunk.reg,"ax",@progbits; \
-@@ -146,6 +148,8 @@
- .previous; \
- .endif; \
- call __i686.get_pc_thunk.reg
-+# define __i686 __old__i686
-+# undef __old__i686
++#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
+--- glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c~ 2009-12-08 21:10:20.000000000 +0100
++++ glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c 2010-04-24 23:57:28.626274985 +0200
+@@ -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*/");
- # define LOAD_PIC_REG(reg) \
- SETUP_PIC_REG(reg); addl $_GLOBAL_OFFSET_TABLE_, %e##reg