This is the mail archive of the gdb-patches@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]

Re: How to fix solib path name?


On Wed, 2009-07-08 at 17:42 +0100, Pedro Alves wrote:
> Going back to the previous hints, and answering myself:
> 
> On Wednesday 08 July 2009 15:56:09, Pedro Alves wrote:
> > >                         No          \Windows\coredll.dll
> 
> On Wednesday 08 July 2009 15:56:09, Pedro Alves wrote:
> > You'll have to issue with backslashes on linux though.  I don't
> > remember if GDB head takes care of converting those to forward
> > slashes for you or not.
> > 
> 
> This bit of code in solib.c:solib_find appears to indicate that
> if the dll isn't found in the sysroot, then it should be found in
> the solib-search-path:
> 
>   /* If not found, next search the solib_search_path (if any) for the basename
>      only (ignoring the path).  This is to allow reading solibs from a path
>      that differs from the opened path.  */
>   if (found_file < 0 && solib_search_path != NULL)
>     found_file = openp (solib_search_path, OPF_TRY_CWD_FIRST,
>                         lbasename (in_pathname), O_RDONLY | O_BINARY,
>                         &temp_pathname);
> 
> 
> but, lbasename on a linux box isn't considering '\' a path separator.

The combination of sysroot and solib-search-path *and* a fix to turn '\'
into '/' inside gdbserver does the trick.

Should that translation then be put in gdbserver ? Are such details of
the gdb/gdbserver protocol documented at all ?

	Danny
-- 
Danny Backx ; danny.backx - at - scarlet.be ; http://danny.backx.info


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