patches/glibc/2.9/350-2.4-undefine-__i686.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jan 17 23:06:02 2010 +0100 (2010-01-17)
changeset 1740 c57458bb354d
parent 1201 c9967a6e3b25
permissions -rw-r--r--
configure: do not require hg when configuring in an hg clone

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