Red Hat Bugzilla – Bug 62535
dietlibc segfaults on older RedHat version
Last modified: 2008-05-01 11:38:01 EDT
Description of Problem:
When dietlibc from Rawhide is compiled on RedHat 7.2 and then nash is linked
against it, nash segfaults
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. rebuild and install dietlibc from src rpm
2. rebuild and install mkinitrd from src rpm
3. run nash
I'm not sure what exactly going on here. If I'd use latest kernel and glibc from
rawhide then there wont be no segfault and it works as expected. I suppose diet
shouldn't depend on glibc? Is it the kernel? Apparently gcc and binutils are not
involved, because I have the same versions on both installations.
I've just upgraded to latest errata kernel-2.4.9-31 and glibc-2.2.4-19.3 for
RedHat 7.2 and it didn't help. Also, any program, even hello world will crash
when compiled and linked with dietlibc in this configuration.
The reason for broken executables is that ld can not find entry symbol _start
and it defaults to 08040808. Yesterday I downgraded binutils and gcc on computer
with glibc 2.2.5 to RedHat 7.2 stock versions and rebuilt dietlibc, but it still
works there. Same thing didn't help on other computer (with glibc 2.2.4), really
Works for me on my machine running 7.2
1070 katzj@orthanc:~> rpm -q glibc gcc binutils
1071 katzj@orthanc:~> diet gcc -o test test.c
1072 katzj@orthanc:~> ./test
I'd like to agree with you and forget the whole thing, but unfortunately the
facts will not. Please, do not disregard this message! I know you're busy, but I
spent much time to test it and I can reproduce this bug on every single computer
_Don't_ install dietlibc from binary rpm, if it was built on "good"
configuration (whatever it is) it will work on any other one. To reproduce this
bug you must install stock Red Hat 7.2 from scratch, rebuild dietlibc from
_source_ rpm on _that_same_ computer and compile hello world with this diet. I'm
afraid that may be something bad is behind this bug (e.g. some binary
incompatibility between two Red Hat versions).
There probably is something a bit weird going on in dietlibc's static binaries,
but I'm not particularly interested in fixing it. We didn't ship (and don't
support) dietlibc on 7.2, so it's not that important to us.
I do agree that the behaviour is very disconcerting.