Hi, I'm using Debian 'testing' on a SPARCstation 10 and getting really desperate since I'm experiencing a SIGILL problem with libc.
The last update installed the newest libc (2.3.2-7), but now each program that uses sscanf (and maybe other functions, too) produces an illegal instruction (SIGILL). E.g. this program will fail now: int main() { float f; sscanf("123.45", "%f", &f); return(0); } I tried rebuilding libc myself, but that's a very lengthy and tiresome process as a 40MHz SS10 is not a computer one could exactly consider 'fast'. Moreover diskspace is fairly limited and glibc needs *huge* amounts of space. I did it nontheless and this is what I noticed: I (partly) recompiled glibc manually (not using Debian scripts and using only -O as opposed to -O2), the resulting libc.so worked. Since I didn't compile any other shared lib (because of disk-space) all programs that also use libnss_compat now fail using my re-compiled libc (even those working with the broken libc). The SIGILL is gone, though. $ w w: relocation error: /lib/libnss_compat.so.2: symbol __nss_lookup_function, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference So no real solution there. Next I tried using the Debian scripts to compile everything (seeing that the libc worked it seemed to be worth the effort). However, the libc produced by that does *NOT* work (-> SIGILL). So I suspect it's the compiler options the Debian build uses combined with a GCC bug that causes the behaviour (it's gcc version 3.3.1 20030626 (Debian prerelease) btw). Not sure, though. But again no solution. I also tried to find an older version of libc (like 2.3.1-something). Google still finds them, but they've all been pulled. Not a chance to download one anywhere. And using libc 2.2 is not possible as it would break *everything*. Yet again no solution. Any suggestions what I can do short of wiping the hard-drive and re-installing from CD (which would be a *real* pain; the machine is in a server room, so I couldn't do it myself). Many thanks to all. Regards, Markus