[Bug 1075] ARM: Programs linked to shared library segfault

bugzilla at busybox.net bugzilla at busybox.net
Thu Feb 3 09:55:49 UTC 2011


https://bugs.busybox.net/show_bug.cgi?id=1075

--- Comment #8 from Fabrizio Gennari <fabrizio.ge at tiscali.it>  ---
Apparently not many people are experiencing this, so, in perfect open-source
fashion, I'm on my own.

Yet, my knowledge of uClibc is not deep enough to thoroughly analyse the
problem. I did some investigation, though.

The crash occurs when _dl_app_init_array() calls _dl_run_init_array() passing
_dl_loaded_modules as argument. That is in ldso/ldso/dl-array.c, and just
dereferences the tpnt pointer pased as argument and calls
_dl_run_array_forward. Most probably the compiler inlines
_dl_run_array_forward. 

The crash seems due to the fact that _dl_loaded_modules is NULL, and
_dl_run_init_array tries to dereference it.

For what I could see, in order for _dl_loaded_modules to be initialised,
_dl_get_ready_to_run must be called. And _dl_get_ready_to_run is never called.

Only, my knowledge of uClibc is too limited to go further, so I'd like to have
help from experts about those 2 questions:
1. is the above correct?
2. when is _dl_get_ready_to_run supposed to be called?

Thank you in advance

-- 
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


More information about the uClibc-cvs mailing list