This is the mail archive of the libc-alpha@sourceware.cygnus.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

glibc 2.1.2pre's broken on sparc32


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]