Re: [patch] Bring QNX Neutrino support forward.

Kris Warkentin
2004-04-01T14:59:26Z

I've been looking at the *nto-tdep files and it looks like I've got some
refactoring to do in order to be current. Particularily the
supply_regset stuff and the whole core_fns deprecation thing. Looks
icky and I'm not really sure of the best way to do it. I've got 4 other
targets besides i386 so I'm looking for the most efficient way. I'm
thinking that I might be able to take advantage of more of the generic
stuff in i386-tdep.c, at least for that target.

Daniel Jacobowitz wrote:

>Leading tabs in the ChangeLog entry, please :) Post what you would
>check in.
>
>

Lost in translation. They're there in real life. ;-)

>>- return openp (buf, 1, solib, o_flags, 0, temp_pathname);
>>+ /* Don't assume basename() isn't destructive. */
>>+ base = strrchr (solib, '/');
>>+ if (!base)
>>+ base = solib;
>>+ else
>>+ base++; /* Skip over '/'. */
>>
>>
>
>There's an lbasename in libiberty, for this reason. You should use
>that instead.
>
>
>
Cool. I did not know that.

>>+ ret = openp (buf, 1, base, o_flags, 0, temp_pathname);
>>+ if (ret < 0 && base != solib)
>>+ {
>>+ sprintf (arch_path, "/%s", solib);
>>+ ret = open (arch_path, o_flags, 0);
>>
>>
>
>Er... automatically falling back to the host library? Why?
>
>

I'm looking through solib_open() and trying to recreate my reasoning.
It certainly seemed like a good idea at the time. Let's say the linker
has the library as /home/kewarken/libfoo.so. Given the current
solib_open, I don't believe that gdb will find it without having
solib-search-path set. I put that there as a 'just in case' thing
because a) it works well on self hosted and b) even for remote
debugging, we often match the host and target filesystems. I figured
that all common libs like libc.so, etc. would have been caught by the
openp() above so the odds of accidentally getting a host library are
slim. This makes things a bit easier for the user: the linker fills in
the full path and gdb uses it rather than requiring a solib-search-path.

cheers,

Kris