[sparc-solaris] unexpected warning when starting program
Daniel Jacobowitz
drow@false.org
Tue Apr 10 21:35:00 GMT 2007
Looking at this again...
On Sun, Mar 11, 2007 at 10:16:46PM -0700, Joel Brobecker wrote:
> Slightly later, GDB tries to update its list of shared libraries again,
> and this time finds that base address. So it now scans a different
> memory region for that list of shared libraries. And in addition to
> that, there is the following code that was recently added:
>
> /* On Solaris, the dynamic linker is not in the normal list of
> shared objects, so make sure we pick it up too. Having
> symbol information for the dynamic linker is quite crucial
> for skipping dynamic linker resolver code. */
> if (lm == 0 && ldsomap == 0)
> lm = ldsomap = solib_svr4_r_ldsomap ();
>
> The information extracted from this entry gives us the following path
> to the loader: /lib/ld.so.1. The paths are different!!!
...
> I am not sure how to fix it either. On solaris 2.8 and 2.9, the two
> files are identical but distinct - one is not a link to the other.
> On solaris 2.10, however, one is a link of the other, so we could
> presumably check the fullpath instead of doing a direct name comparison.
> But that would be pretty expensive for just one type of host, no?
xfullpath isn't really that expensive. We could even do it only for
ld.so.1; I think that's not totally unreasonable.
Are you sure the files are distinct on your Solaris 2.8 / 2.9? I have
a symlink /lib -> ./usr/lib on 2.8, and a symlink /usr/lib/ld.so.1 ->
../../lib/ld.so.1 on 2.10.
--
Daniel Jacobowitz
CodeSourcery
More information about the Gdb
mailing list