patches/glibc/2.10.1/900-march-i686.patch
author Michael Hope <michael.hope@linaro.org>
Wed Oct 19 15:27:32 2011 +1300 (2011-10-19)
changeset 2739 f320e22f2cba
permissions -rw-r--r--
arch: add softfp support

Some architectures support a mixed hard/soft floating point, where
the compiler emits hardware floating point instructions, but passes
the operands in core (aka integer) registers.

For example, ARM supports this mode (to come in the next changeset).

Add support for softfp cross compilers to the GCC and GLIBC
configuration. Needed for Ubuntu and other distros that are softfp.

Signed-off-by: Michael Hope <michael.hope@linaro.org>
[yann.morin.1998@anciens.enib.fr: split the original patch]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
eha@2378
     1
2007-02-15  Khem Raj  <kraj@xxxxxxxxxx>
eha@2378
     2
eha@2378
     3
       * sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686.
eha@2378
     4
       * nptl/sysdeps/pthread/pt-initfini.c: Ditto.
eha@2378
     5
eha@2378
     6
diff -urN glibc-2.10.1.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.10.1/nptl/sysdeps/pthread/pt-initfini.c
eha@2378
     7
--- glibc-2.10.1.orig/nptl/sysdeps/pthread/pt-initfini.c	2009-12-08 21:10:20.000000000 +0100
eha@2378
     8
+++ glibc-2.10.1/nptl/sysdeps/pthread/pt-initfini.c	2010-12-30 11:33:31.520855595 +0100
eha@2378
     9
@@ -45,6 +45,11 @@
eha@2378
    10
 /* Embed an #include to pull in the alignment and .end directives. */
eha@2378
    11
 asm ("\n#include \"defs.h\"");
eha@2378
    12
 
eha@2378
    13
+asm ("\n#if defined __i686 && defined __ASSEMBLER__");
eha@2378
    14
+asm ("\n#undef __i686");
eha@2378
    15
+asm ("\n#define __i686 __i686");
eha@2378
    16
+asm ("\n#endif");
eha@2378
    17
+
eha@2378
    18
 /* The initial common code ends here. */
eha@2378
    19
 asm ("\n/*@HEADER_ENDS*/");
eha@2378
    20
 
eha@2378
    21
diff -urN glibc-2.10.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.10.1/sysdeps/unix/sysv/linux/i386/sysdep.h
eha@2378
    22
--- glibc-2.10.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h	2009-12-08 21:10:20.000000000 +0100
eha@2378
    23
+++ glibc-2.10.1/sysdeps/unix/sysv/linux/i386/sysdep.h	2010-12-30 11:33:31.520855595 +0100
eha@2378
    24
@@ -29,6 +29,10 @@
eha@2378
    25
 #include <dl-sysdep.h>
eha@2378
    26
 #include <tls.h>
eha@2378
    27
 
eha@2378
    28
+#if defined __i686 && defined __ASSEMBLER__
eha@2378
    29
+#undef __i686
eha@2378
    30
+#define __i686 __i686
eha@2378
    31
+#endif
eha@2378
    32
 
eha@2378
    33
 /* For Linux we can use the system call table in the header file
eha@2378
    34
 	/usr/include/asm/unistd.h