Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <pedro@codesourcery.com>
To: gdb-patches@sourceware.org
Cc: danny.backx@scarlet.be
Subject: Re: How to fix solib path name?
Date: Wed, 08 Jul 2009 15:07:00 -0000	[thread overview]
Message-ID: <200907081607.22830.pedro@codesourcery.com> (raw)
In-Reply-To: <200907081556.09821.pedro@codesourcery.com>

On Wednesday 08 July 2009 15:56:09, Pedro Alves wrote:
> On Wednesday 08 July 2009 15:34:38, Danny Backx wrote:
> > I'm preparing a gdb patch so it works in a cross-debugging environment.
> > Host I'm using is a linux pc, target is running Windows CE Embedded 6.0.
> > 
> > The gdbserver part is getting complete, see other messages on this list.
> > 
> > The gdb still has a quirck or two.
> > 
> > (gdb) info sharedlibrary
> > >From        To          Syms Read   Shared Object Library
> >                         No          \network\x86\libgcc_s_sjlj-1.dll
> > 0x41ee1000  0x41fb2974
> > Yes         /opt/x86mingw32ce/i386-mingw32ce/lib/libstdc++-6.dll
> >                         No          \Windows\coredll.dll
> > (gdb) 
> > 
> > I'm guessing that it should strip the \network\x86 from the library name
> > before it attempts to find it in the solib-search-path.
> > 
> 
> Interesting.  Does this mean that CE6 always reports absolute path
> names in dll events?  If so, you want to use "set sysroot", not
> "set solib-search-path".
> 
> (gdb) help set sysroot
> Set an alternate system root.
> The system root is used to load absolute shared library symbol files.
> For other (relative) files, you can add directories using
> `set solib-search-path'.
> 
> 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.
> 
> 
> Here's what I see when debugging gdbserver with
> itself on ARM CE 5.0 Pocket PC:
> 
> WinMainCRTStartup (hInst=0xf65999ae, hPrevInst=0x0, lpCmdLine=0x2613fed8 L"", nCmdShow=5)
>     at /home/pedro/cegcc/trunk/cegcc/src/mingw/crt3.c:35
> 35      {
> (gdb) info sharedlibrary
> From        To          Syms Read   Shared Object Library
>                         No          ws2.dll
>                         No          coredll.dll.0409.mui
>                         No          coredll.dll
> (gdb)  
> 
> That is, CE reports relative paths, at least for system dlls.  I'm yet
> refresh my memory what happens against a non-system dll.
> 

Okay, just confirmed it.  It's the same with non-system dlls.
All reported paths are relative.  Here shreloc2.s and shreloc1.sl
are both under /tmp, as well as shreloc, the main application.  (this
is a test from gdb's testsuite).

(gdb) info sharedlibrary
From        To          Syms Read   Shared Object Library
                        No          shreloc2.sl
                        No          shreloc1.sl
                        No          coredll.dll.0409.mui
                        No          coredll.dll
(gdb)                         

So, CE6 behaves differently to CE 5 and lower here.  I'm not that
surprised, since the memory model on CE6 was completely revamped
to eliminate the 32MB restrictions.


Maybe we can make gdbserver smarter even on CE < 6?  I think I
remember that if you had toolhelp.dll on the device, you'd get
absolute paths, but I'm not sure if that's a valid memory I have.

-- 
Pedro Alves


  reply	other threads:[~2009-07-08 15:07 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-08 14:34 Danny Backx
2009-07-08 14:45 ` Aleksandar Ristovski
2009-07-08 14:51   ` Pedro Alves
2009-07-08 15:15     ` Aleksandar Ristovski
2009-07-08 15:21       ` Pedro Alves
2009-07-08 15:38         ` Aleksandar Ristovski
2009-07-08 15:49           ` Pedro Alves
2009-07-08 15:57             ` Pedro Alves
2009-07-08 17:19             ` Aleksandar Ristovski
2009-07-08 18:24               ` Pedro Alves
2009-07-08 18:30                 ` Pedro Alves
2009-07-08 14:56 ` Pedro Alves
2009-07-08 15:07   ` Pedro Alves [this message]
2009-07-08 15:31     ` Danny Backx
2009-07-08 15:45       ` Pedro Alves
2009-07-08 15:45       ` Danny Backx
2009-07-08 16:19         ` Pedro Alves
2009-07-08 16:30           ` Danny Backx
2009-07-08 16:42             ` Pedro Alves
2009-07-08 17:15   ` Pedro Alves
2009-07-08 20:46     ` Danny Backx

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200907081607.22830.pedro@codesourcery.com \
    --to=pedro@codesourcery.com \
    --cc=danny.backx@scarlet.be \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox