--- glibc-2.7/sysdeps/unix/sysv/linux/i386/sysdep.h.orig	2008-07-10 13:11:22.000000000 -0400
+++ glibc-2.7/sysdeps/unix/sysv/linux/i386/sysdep.h	2008-07-10 13:12:26.000000000 -0400
@@ -29,6 +29,11 @@
 #include <dl-sysdep.h>
 #include <tls.h>
 
+/* workaround problem when march=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
