Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* solist - internals: when ldd is in libc
@ 2008-08-15 18:27 Aleksandar Ristovski
  2008-08-15 20:28 ` Joel Brobecker
  0 siblings, 1 reply; 2+ messages in thread
From: Aleksandar Ristovski @ 2008-08-15 18:27 UTC (permalink / raw)
  To: gdb

Hello,


I have a question regarding the internals. We (qnx) have ldd in libc; qnx target is svr4, so we use solib-svr4; ldd is not listed in the process' link map. ldd lives in libc, but in .interp section it is called "ldqnx.so.2". Physically, ldqnx.so.2 is a softlink to real libc.so.2 (libc.so.3).

When GDB tries to determines current_sos before any shared object is loaded, it will call svr4_default_sos, which, in turn, will create "artificial" ldqnx entry in the gdb's so_list based on .interp name.

The problem: when the "real" libc is mapped, gdb will update_solib_list and determine that ldqnx is now missing from the inferior's linkmap and thus disable all the breakpoints set in it. I want to avoid disabling the breakpoints and let gdb "know" that newly mapped libc is, in fact, ldqnx mapped by default_sos; being one the same, all the resolved addresses for breakpoints are valid. 

And this is, finally, my question: is there a mechanism in gdb to handle such situation, or would supporting this scenario be a new feature?


Thank you,
Aleksandar Ristovski
QNX Software Systems


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-08-15 15:59 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-08-15 18:27 solist - internals: when ldd is in libc Aleksandar Ristovski
2008-08-15 20:28 ` Joel Brobecker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox