bug-glibc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

glibc-2.3.1 with -march=pentium[23] (gcc-3.2)


From: Clifford Wolf
Subject: glibc-2.3.1 with -march=pentium[23] (gcc-3.2)
Date: Wed, 8 Jan 2003 12:59:28 +0100 (CET)

Hi,

I'm maintaining ROCK Linux (www.rocklinux.org) and found a bug while
building glibc-2.3.1 with optimization for pentium2 or pentium3, which is
fixed by the following patch (see comment for details):

--- ./sysdeps/unix/sysv/linux/i386/sysdep.h.orig        2003-01-08 
12:38:31.000000000 +0100
+++ ./sysdeps/unix/sysv/linux/i386/sysdep.h     2003-01-08 12:41:09.000000000 
+0100
@@ -35,6 +35,12 @@

 #ifdef __ASSEMBLER__

+/* __i686 is used in assembler code below as normal text within a statement.
+   When optimizing for pentium2 or pentium3, gcc defines __i686 as cpp macro
+   which destroys the code below. Glibc is only using the cpp macro __i686__,
+   so we can savely undefine __i686 here. - Clifford Wolf */
+#undef __i686
+
 /* Linux uses a negative return value to indicate syscall errors,
    unlike most Unices, which use the condition codes' carry flag.


I'm not sure about what the assembler code itself does (never had the time
to dig into _gnu_ assembler so far), so I don't know if it's possible to
simply not use the text __i686 within the assembler code...

yours,
 - clifford

-- 
| Clifford Wolf ............ www.clifford.at . . . IRC: www.freenode.net
| ROCK Linux Workgroup ..... www.rocklinux.org . . Tel: +43-699-10063494
| NTx Consulting Group ..... www.ntx.at  . . . . . Fax: +43-2235-42788-4
| Vocat.cc ................. www.vocat.cc  . . . . . . . . . . . . . . .
| EDEN Creations ........... www.edenevents.at . . . . . . . . . . . . .
+------=[ Usenet Compliant Signature (RFC 2646) ]=---> www.rocklinux.net

Reality corrupted. Reboot universe? (Y/N)

There are only 10 types of people in the world:
Those who understand binary and those who don't.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]