patches/glibc/2.7/130-i686-assembler.patch
author Arnaud Lacombe <lacombar@gmail.com>
Thu Aug 05 17:59:51 2010 +0200 (2010-08-05)
changeset 2069 366bd2b22675
parent 744 4bf8448536d5
permissions -rw-r--r--
complibs/mpc: fix MPC 0.8.1 build with MPFR 3.0.0

This is the change introduced by revision 734 of MPC repository.

Author: Paul Zimmermann <Paul.Zimmermann@loria.fr>
Revision log: [acos.c] fixed problem with GMP_RNDA (should be MPFR_RNDA, and code was wrong)

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
yann@434
     1
If gcc is configured to generate i686 code or better by default (like
yann@434
     2
when using the --with-arch=pentium3 configure option), then the __i686
yann@434
     3
macro will always be defined automatically and thus screw up the
yann@434
     4
compilation of some .S files.
yann@434
     5
yann@434
     6
http://bugs.gentoo.org/131108
yann@434
     7
http://sourceware.org/ml/libc-alpha/2006-04/msg00090.html
yann@434
     8
yann@434
     9
2006-04-25  Mike Frysinger  <vapier@gentoo.org>
yann@434
    10
yann@434
    11
	* sysdeps/i386/sysdep.h (__i686): Undefine.
yann@434
    12
yann@434
    13
Index: glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h
yann@434
    14
===================================================================
yann@434
    15
--- glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h	(revision 1469)
yann@434
    16
+++ glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h	(working copy)
yann@434
    17
@@ -29,6 +29,10 @@
yann@434
    18
 #include <dl-sysdep.h>
yann@434
    19
 #include <tls.h>
yann@434
    20
yann@434
    21
+#if defined __i686 && defined __ASSEMBLER__
yann@434
    22
+#undef __i686
yann@434
    23
+#define __i686 __i686
yann@434
    24
+#endif
yann@434
    25
yann@434
    26
 /* For Linux we can use the system call table in the header file
yann@434
    27
 	/usr/include/asm/unistd.h
yann@434
    28
Index: glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c
yann@434
    29
===================================================================
yann@434
    30
--- glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c	(revision 1469)
yann@434
    31
+++ glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c	(working copy)
yann@434
    32
@@ -45,6 +45,11 @@
yann@434
    33
 /* Embed an #include to pull in the alignment and .end directives. */
yann@434
    34
 asm ("\n#include \"defs.h\"");
yann@434
    35
yann@434
    36
+asm ("\n#if defined __i686 && defined __ASSEMBLER__");
yann@434
    37
+asm ("\n#undef __i686");
yann@434
    38
+asm ("\n#define __i686 __i686");
yann@434
    39
+asm ("\n#endif");
yann@434
    40
+
yann@434
    41
 /* The initial common code ends here. */
yann@434
    42
 asm ("\n/*@HEADER_ENDS*/");
yann@434
    43