[uClibc]setjmp() issue with ARM shared libs
Shane Nay
shane at minirl.com
Thu Jun 21 16:47:46 UTC 2001
(Sorry for CCing you Phil, but I thought you might have a reasonable answer
to the behaviour I'm getting)
Okay, some weird stuff is happening when I have an app that uses setjmp (such
as ash), basically setjmp -> __sigsetjmp on Intel and ARM with uClibc, which
is fine. But the ARM linker is setting __sigsetjump as 'B', or in the .bss
section, while the i386 linker is setting it properly as 'U', a function to
be resolved. It works fine on i386/uClibc, but crashes hard trying to branch
to some spot in .bss that hasn't been initialized. (It's just /dev/zero at
this point in the game as it's just about the first thing in main())
Any ideas? Maybe it's some broken headers? With arm glibc, it works fine,
and sets up setjmp to _setjmp and as a function to be resolved. It's either
a bug in the linker, or a bug in our headers I think...
Thanks,
Shane Nay.
More information about the uClibc
mailing list