patches/glibc/2.14.1/910-asm-i686.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Thu Dec 27 12:45:22 2012 +0100 (2012-12-27)
changeset 3152 b286c7993be5
permissions -rw-r--r--
scripts/addToolsVersion: properly handle .in vs. .in.2

While most components have their version in the .in file, some
have it in the .in.2 (eg. elf2flt).

Currently, to handle this case, we indiscriminately munge both files,
but this is wrong: in the elf2flt case, if we add a binutils version,
we do not want it to be added to elf2flt, and conversely.

So, for each tool, we need to explicitly know what file to munge.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
     1 Submitted By:            Matt Burgess <matthew_at_linuxfromscratch_dot_org>
     2 Date:                    2010-04-18
     3 Initial Package Version: 2.11.1
     4 Upstream Status:         Not Submitted
     5 Origin:                  http://www.eglibc.org/archives/patches/msg00073.html
     6 Description:             Fixes the following build problem with GCC-4.5.0:
     7 
     8 /mnt/lfs/sources/libc-build/math/s_frexp.os.dt -MT /mnt/lfs/sources/libc-build/math/s_frexp.os
     9 ./sysdeps/i386/fpu/s_frexp.S: Assembler messages:
    10 ./sysdeps/i386/fpu/s_frexp.S:66: Error: invalid identifier for ".ifdef"
    11 ./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
    12 ./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
    13 ./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
    14 ./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `.'
    15 ./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
    16 ./sysdeps/i386/fpu/s_frexp.S:66: Error: expected comma after name `' in .size directive
    17 ./sysdeps/i386/fpu/s_frexp.S:66: Error: ".endif" without ".if"
    18 ./sysdeps/i386/fpu/s_frexp.S:66: Error: junk `.get_pc_thunk.dx' after expression
    19 make[2]: *** [/mnt/lfs/sources/libc-build/math/s_frexp.os] Error 1
    20 
    21 diff -Naur glibc-2.11.1.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c
    22 --- glibc-2.11.1.orig/nptl/sysdeps/pthread/pt-initfini.c	2009-12-08 20:10:20.000000000 +0000
    23 +++ glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c	2010-04-17 11:34:06.882681001 +0000
    24 @@ -45,6 +45,11 @@
    25  /* Embed an #include to pull in the alignment and .end directives. */
    26  asm ("\n#include \"defs.h\"");
    27  
    28 +asm ("\n#if defined __i686 && defined __ASSEMBLER__");
    29 +asm ("\n#undef __i686");
    30 +asm ("\n#define __i686 __i686");
    31 +asm ("\n#endif");
    32 +
    33  /* The initial common code ends here. */
    34  asm ("\n/*@HEADER_ENDS*/");
    35  
    36 diff -Naur glibc-2.11.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h
    37 --- glibc-2.11.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h	2009-12-08 20:10:20.000000000 +0000
    38 +++ glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h	2010-04-17 11:34:06.882681001 +0000
    39 @@ -29,6 +29,10 @@
    40  #include <dl-sysdep.h>
    41  #include <tls.h>
    42  
    43 +#if defined __i686 && defined __ASSEMBLER__
    44 +#undef __i686
    45 +#define __i686 __i686
    46 +#endif
    47  
    48  /* For Linux we can use the system call table in the header file
    49  	/usr/include/asm/unistd.h
    50