checked in: Re: RFC: solib.c:solib_map_sections so->so_name clobbering

Luis Machado lgustavo@codesourcery.com
Sat Oct 26 02:30:00 GMT 2013


Hi,

It looks like this commit introduced a small regression for MI and 
shared libraries, and the testsuite does not cover this case.

Suppose we have GDB running on a host and a stub/gdbserver running on a 
separate remote target. Suppose shared libraries (for symbols) on the 
target are located in a different path compared to the host, say, 
<host_path> and <target_path>.

During debugging, eventually the shared libraries will be loaded and we 
used to see a shared library load notification like the following:

=library-loaded,id="<target_path>/libhello.so",target-name="<target_path>/libhello.so",host-name="<host_path>/libhello.so",symbols-loaded="0",thread-group="i1"

After this commit, this is what we see:

=library-loaded,id="<target_path>/libhello.so",target-name="<target_path>/libhello.so",host-name="<target_path>/libhello.so",symbols-loaded="0",thread-group="i1"

So it looks like we've lost information about the shared library's path 
on the host, which may not be a big deal for CLI GDB, but may confuse 
consumers of MI output.

I gave this a quick thought, but reverting the change seemed like the 
most obvious solution.

But since this change affects darwin, maybe Joel has a different idea?



More information about the Gdb-patches mailing list