[patch] Bring QNX Neutrino support forward.

Kris Warkentin kewarken@qnx.com
Thu Apr 1 14:59:00 GMT 2004


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



More information about the Gdb-patches mailing list