glibc 2.1.2pre's broken on sparc32
Ben Collins
bcollins@debian.org
Mon Aug 23 10:09:00 GMT 1999
I've been test compiling the 2.1.2 pre's on sparc32 using 2.2.{1,9,10,11}
kernel source from vger cvs aswell as stock source. Here is a quick look
at my problem:
$ LD_PRELOAD=`pwd`/libc.so ls -ld config.h resource/ ; echo ; ls -ld config.h resource/
?--------- 346141 33204 daemon 0 Aug 23 09:11 config.h
?--------- 272423 16893 bin 0 Aug 23 09:05 resource
-rw-rw-r-- 1 buildd debian 3514 Aug 23 07:20 config.h
drwxrwxr-x 2 buildd debian 1024 Aug 23 08:37 resource
ls is not the only program affected. Other programs refuse to run,
thinking that their config files are not really files, directories don't
exist, permissions etc...
$ LD_PRELOAD=`pwd`/libc.so ldd test ; echo ; ldd test
ldd: error: you do not have read permission for `./test'
libc.so.6 => /lib/libc.so.6 (0x70006000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x08000000)
Now, I wrote a small test program to stat a file and return the mode:
$ LD_PRELOAD=`pwd`/libc.so ./test; ./test
mode: 0x81fd
mode: 0x81fd
That sucks, looks just fine. Other calls such as S_ISREG() work fine too,
as well as other parts in the stat struct (NOTE: test program is compiled
against glibc 2.1.1, libc.so is the 2.1.2pre).
Hope this atleast helps to get this fixed.
PS: I sent this through gnats last week, but never got an ack, so I assume
either I screwed up or gnats lost it :/
Ben Collins
More information about the Libc-alpha
mailing list