[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: