patches/glibc/2.9/350-2.4-undefine-__i686.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Jan 13 20:46:01 2010 +0100 (2010-01-13)
changeset 1732 6b2ae7804c6f
parent 1201 c9967a6e3b25
permissions -rw-r--r--
debug/gdb: staticaly link to ncurses for the native gdb

Staticaly link the native gdb (the one that runs on the target,
not the cross one that runs on the host) to ncurses.
yann@1201
     1
Original patch from: gentoo/src/patchsets/glibc/2.9/1130_all_glibc-2.4-undefine-__i686.patch
yann@1201
     2
yann@1201
     3
-= BEGIN original header =-
yann@1201
     4
If gcc is configured to generate i686 code or better by default (like 
yann@1201
     5
when using the --with-arch=pentium3 configure option), then the __i686
yann@1201
     6
macro will always be defined automatically and thus screw up the
yann@1201
     7
compilation of some .S files.
yann@1201
     8
http://bugs.gentoo.org/131108
yann@1201
     9
http://sourceware.org/ml/libc-alpha/2006-04/msg00090.html
yann@1201
    10
yann@1201
    11
2006-04-25  Mike Frysinger  <vapier@gentoo.org>
yann@1201
    12
yann@1201
    13
	* sysdeps/i386/sysdep.h (__i686): Undefine.
yann@1201
    14
yann@1201
    15
-= END original header =-
yann@1201
    16
yann@1201
    17
diff -durN glibc-2_9.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2_9/nptl/sysdeps/pthread/pt-initfini.c
yann@1201
    18
--- glibc-2_9.orig/nptl/sysdeps/pthread/pt-initfini.c	2007-06-17 20:02:01.000000000 +0200
yann@1201
    19
+++ glibc-2_9/nptl/sysdeps/pthread/pt-initfini.c	2009-02-02 22:01:09.000000000 +0100
yann@1201
    20
@@ -45,6 +45,9 @@
yann@1201
    21
 /* Embed an #include to pull in the alignment and .end directives. */
yann@1201
    22
 asm ("\n#include \"defs.h\"");
yann@1201
    23
 
yann@1201
    24
+/* Embed an #include to pull in asm settings. */
yann@1201
    25
+asm ("\n#ifdef __i686__\n#include <sysdep.h>\n#endif");
yann@1201
    26
+
yann@1201
    27
 /* The initial common code ends here. */
yann@1201
    28
 asm ("\n/*@HEADER_ENDS*/");
yann@1201
    29
 
yann@1201
    30
diff -durN glibc-2_9.orig/sysdeps/i386/sysdep.h glibc-2_9/sysdeps/i386/sysdep.h
yann@1201
    31
--- glibc-2_9.orig/sysdeps/i386/sysdep.h	2006-10-28 08:44:03.000000000 +0200
yann@1201
    32
+++ glibc-2_9/sysdeps/i386/sysdep.h	2009-02-02 22:01:09.000000000 +0100
yann@1201
    33
@@ -18,6 +18,14 @@
yann@1201
    34
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
yann@1201
    35
    02111-1307 USA.  */
yann@1201
    36
 
yann@1201
    37
+/*
yann@1201
    38
+ * When building for i686 targets or better, gcc automatically defines
yann@1201
    39
+ * '__i686' to '1' for us which causes trouble when using section names
yann@1201
    40
+ * like '__i686.get_pc_thunk.reg'.  Since we check for __i686__ in the
yann@1201
    41
+ * code, killing '__i686' shouldn't be a problem.
yann@1201
    42
+ */
yann@1201
    43
+#undef __i686
yann@1201
    44
+
yann@1201
    45
 #include <sysdeps/generic/sysdep.h>
yann@1201
    46
 
yann@1201
    47
 #ifdef	__ASSEMBLER__