Busy box / tolower, ctype issues
Hi all,
With the helps of some of you - thanks
to them - I have been able to obtain busybox.
I installed the sources and get the
package compiled seamlessly.
Then I ran through a very classical
issue (according to google), that I was not able to solve:
At execution time, the loader complains
that it does not find GLIBC 2.3.
Which is true, we use a GLIBC 2.2
After investigating with nm, it appears
that it remains three undefs in the binary, labelled
__ctype_b_loc@@GLIBC_2.3
__ctype_tolower_loc@@GLIBC_2.3
__ctype_toupper_loc@@GLIBC_2.3
google says that this is a problem with
ctype functions that was first enhanced to support
international languages, then rolled
back to the old implementation because of a potential
security hole (as far as I understand)
Anyway, I don't understand why, although
the symbols __ctype_xxx_loc exist in the libc.so.6
that we use on the target , the compiler
generates the "decorated" symbols __ctype_xxx_loc@@GLIBC_2.3?
I did try to rollback to the __ctype_xxx
functions (not localized) in the ctype.h.
It worked for __ctype_tolower and __ctype_toupper
but not for __ctype_b, although it exists in
the lib..
And this time, the failure happens already
at link time, not on the target..
Finally, it raises an issue that we
did not catch before here:
the libc that we use to cross compile
commands (that is in the armgcc folder) is not at the same
level than the one that we use on the
target for execution, and that does not sound good to me.
Does any one can advise on that? Should
we override the libc of the compiler with the one that
we load on the target, or vice versa?
Thanks in advance
Bye
Olivier Delouya
Reply to: