gcc cvs current miscompiles glibc 2.1.2pre3

Andreas Jaeger aj@arthur.rhein-neckar.de
Mon Sep 6 11:31:00 GMT 1999


Hi,

the current CVS version:
$ /opt/gcc-2.96/bin/gcc -v
Reading specs from /opt/gcc-2.96/lib/gcc-lib/i486-pc-linux-gnu/2.96/specs
gcc version 2.96 19990905 (experimental)

miscompiles the current glibc 2.1.2prerelease.  

gcc seems to miscompile elf/dl-load from looking at the strace output:

$ strace elf/ld.so string/tester
execve("elf/ld.so", ["elf/ld.so", "string/tester"], [/* 36 vars */]) = 0
getuid()                                = 207
getgid()                                = 100
geteuid()                               = 207
getegid()                               = 100
brk(0)                                  = 0x800149d0
brk(0x800159d0)                         = 0x800159d0
open("string/tester", O_RDONLY)         = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=198117, ...}) = 0
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\2\0\3\0\1\0\0\0\220\213"..., 4096) = 4096
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40000000
getcwd("/usr/glibc/src/buildreport/19990905", 128) = 36
mmap(0x8048000, 36864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, -2147398184, 0) = -1 EBADF (Bad file descriptor)
close(-2147398184)                      = -1 EBADF (Bad file descriptor)
write(2, "string/tester", 13string/tester)           = 13
write(2, ": error in loading shared librar"..., 37: error in loading shared libraries: ) = 37
write(2, "", 0)                         = 0
write(2, "", 0)                         = 0
write(2, "failed to map segment from share"..., 40failed to map segment from shared object) = 40
write(2, ": ", 2: )                       = 2
write(2, "Error 9", 7Error 9)                  = 7
write(2, "\n", 1)                       = 1
_exit(127)                              = ?

The second mmap call (which appears in elf/dl-load.c) uses -2147398184
as fd which shouldn't happen - this is IMO the result of a compiler
bug.

My system: glibc 2.1.2pre3, Linux 2.2.12, i486.

Sorry, I don't have further info nor can I spend time on nailing this
down.  I just wanted to make this known.

Andreas
-- 
 Andreas Jaeger   aj@arthur.rhein-neckar.de    jaeger@informatik.uni-kl.de
  for pgp-key finger ajaeger@aixd1.rhrk.uni-kl.de


More information about the Gcc-bugs mailing list