This is the mail archive of the gdb@sourceware.org mailing list for the GDB 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]

Differentiating symbols in multiple copies of shared libraries


Hello,

In an implementation of a multi-threaded program we need to have multiple instances of the same text residing in different virtual addresses. For this purpose different copies of the object file are loaded using dlopen().

We did not find a way for GDB to refer to a symbol in a specific copy of the object file (other then referring to the specific address). I know that DBX supports this by qualifying `<shared object name>`<function name>. Is there similar feature in GDB?

Quoting Daniel J. from a message posted in May 2007 it seemed that this issue was already known:

"> My questions are:
> 1. How do I inspect all the symbols of the same name in the process
> space?  ( I tried loading the symbol from each library
> load-symbol-file.  It didn't help either. In case of ambiguity, dbx used
> to show all symbols qualified with the library name and let us choose
> the right one)
> 2. How do I qualify a symbol with the library name where it belongs to?
> ( for eg.  `libfoo.so`foo_bar )

Basically, you can't.  Yet.  We know we need to fix this."

Is this fixed?

Please note that we need to differentiate between symbols not only for defining breakpoints but for other needs such as disassembly, backtrace as well.

Your input regarding this issue will be appreciated.

Avi


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