Hi,

Yes you definitely can get caught for example right in the middle of mutex 
operations in dl_iterate_phdr(), making re-entry dangerous. I've seen this 
happen relatively rarely, but it does happen.

At the moment my preferred candidate solution is to hook our sampler to 
_dl_debug_state(), capture shared library state changes then, and find a way to 
feed the information ourselves to libunwind so that it won't call 
dl_iterate_phdr() at all. I don't know for sure this will work, in particular 
that we would receive the call at appropriate (before any calls to newly loaded 
shared library can occur for example).

I would be interested if anyone is able to invent any fully reliable other 
solution.

Regards,
Lassi



_______________________________________________
Libunwind-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/libunwind-devel

Reply via email to