This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFC][BZ #956] AS safe backtrace()


Hi,

I need for profiler to avoid calling dlopen() in backtrace().

First problem is AS safety.
Second problem is that if I hook function called by dlopen() and
supply its implementation by dlopen() then I get infinite loop.

Proper solution would be convince libgcc to supply unwind_stack as a
macro or link libgcc staticaly.

Otherwise I need to add checking if malloc and dlopen locks are held.

For rtld corresponding line is following. 
__rtld_lock_lock_recursive (GL(dl_load_lock));
How is dl_load_lock visible?



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]