This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
optimization/9711: glibc 2.3.1 miscompiled (mcpu=i686, mcpu=athlon, -fomit-frame-pointer)
- From: rwahl at gmx dot de
- To: gcc-gnats at gcc dot gnu dot org
- Date: 14 Feb 2003 22:05:58 -0000
- Subject: optimization/9711: glibc 2.3.1 miscompiled (mcpu=i686, mcpu=athlon, -fomit-frame-pointer)
- Reply-to: rwahl at gmx dot de
>Number: 9711
>Category: optimization
>Synopsis: glibc 2.3.1 miscompiled (mcpu=i686, mcpu=athlon, -fomit-frame-pointer)
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Feb 14 22:06:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator: Ronald Wahl
>Release: 3.2.2
>Organization:
>Environment:
Athlon TBird 1200MHz
linux-2.4.20
binutils 2.13.90.0.18 (happens with CVS head too)
>Description:
I found a bug in the code scheduler for Athlon and i686.
If compile glibc-2.3.1 (and even the current CVS head) and
optimize with "-march=i586 -mcpu=athlon" or
"-march=i586 -mcpu=i686" I get a broken
glibc or the compile fails at "sunrpc/xbootparam.T"
(segfault of a program that is started via the newly
compiled linker). This depends on the fact if I
cross-compile the glibc (between different x86 architectures or not. Broken means that some
binaries (especially those linked against libpthread)
segfault at termination. There are no problems if I compile
with "-march=i586 -mcpu=i586" or "-march=i686 -mcpu=i686".
BTW, I tried different -O levels (-O1 ... -O3). This had no
effect. Other combinations I haven't tested.
Additionally there is a problem when glibc is compiled without frame-pointers. I can reproduce this too. See here:
http://sources.redhat.com/ml/bug-glibc/2002-10/msg00072.html
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: