This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
shared lib dos filename style - one more question
- From: Danny Backx <danny dot backx at scarlet dot be>
- To: gdb-patches <gdb-patches at sourceware dot org>
- Date: Sat, 26 Sep 2009 15:51:50 +0200
- Subject: shared lib dos filename style - one more question
- Reply-to: danny dot backx at scarlet dot be
Hi,
I got a lot of help from several of you recently to point me in the
right direction. I am trying to get gdb to do the right thing when the
target is running on Windows Mobile (DOS filename style) and the host is
different (e.g. Linux).
This works, and I think I am close to having my patches in such a shape
that the libiberty maintainers will like them.
But the drawback for the gdb user is still that changing the variable
that steers this functionality often comes too late. The names are
processed when connecting to the target, changing the variable doesn't
affect gdb's operation any more. (See the session below, it also shows a
rather ugly workaround.)
My question : can anyone point me to where I should rerun some gdb
function when the gdb user changes the value of this variable ? I
already figured out that the shlib info gets passed when "solib_add" is
called, but is that what I need to rerun ?
Thanks,
Danny
pavilion: {580} ./gdb ~/tmp/arm/test/remedy.nl/shlib/4.stdc
++/usedemo.exe
GNU gdb (GDB) 6.8.50.20090905-cvs
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show
copying"
and "show warranty" for details.
This GDB was configured as "--host=i686-pc-linux-gnu
--target=i386-mingw32ce".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/danny/tmp/arm/test/remedy.nl/shlib/4.stdc
++/usedemo.exe...done.
(gdb) set dos_based_file_system off
(gdb) set
solib-search-path /home/danny/tmp/arm/test/remedy.nl/shlib/4.stdc
++:/opt/x86mingw32ce/bin:/opt/x86mingw32ce/i386-mingw32ce/lib
(gdb) target remote ebox:9999
Remote debugging using ebox:9999
Error while mapping shared library sections:
\network\x86\libgcc_s_sjlj-1.dll: No such file or directory.
Error while mapping shared library sections:
\network\x86\libstdc++-6.dll: No such file or directory.
Error while mapping shared library sections:
\network\x86\libx.dll: No such file or directory.
Error while mapping shared library sections:
coredll.dll: No such file or directory.
Symbol file not found for \network\x86\libgcc_s_sjlj-1.dll
Symbol file not found for \network\x86\libstdc++-6.dll
Symbol file not found for \network\x86\libx.dll
Symbol file not found for coredll.dll
WinMainCRTStartup (hInst=0x5f0000e, hPrevInst=0x0, lpCmdLine=0x3601fc70
L"", nCmdShow=5)
at /home/danny/src/cegcc/svn.sf.net/cegcc/trunk/cegcc/src/mingw/crt3.c:35
35 {
(gdb) info share
>From To Syms Read Shared Object Library
No \network\x86\libgcc_s_sjlj-1.dll
No \network\x86\libstdc++-6.dll
No \network\x86\libx.dll
No coredll.dll
(gdb) set dos_based_file_system on
Note 1 : here is where I would like to interfere so the paths get
processed again, with the new value of have_dos_based_file_system .
(gdb) info share
>From To Syms Read Shared Object Library
No \network\x86\libgcc_s_sjlj-1.dll
No \network\x86\libstdc++-6.dll
No \network\x86\libx.dll
No coredll.dll
Note 2 : disconnecting and connecting again is a workaround for not
having the functionality I still lack now.
(gdb) disconnect
Ending remote debugging.
(gdb) set dos_based_file_system on
(gdb) target remote ebox:9999
Remote debugging using ebox:9999
Error while mapping shared library sections:
coredll.dll: No such file or directory.
Reading symbols from /opt/x86mingw32ce/bin/libgcc_s_sjlj-1.dll...done.
Loaded symbols for /opt/x86mingw32ce/bin/libgcc_s_sjlj-1.dll
Reading symbols from /opt/x86mingw32ce/i386-mingw32ce/lib/libstdc
++-6.dll...done.
Loaded symbols for /opt/x86mingw32ce/i386-mingw32ce/lib/libstdc++-6.dll
Reading symbols from /home/danny/tmp/arm/test/remedy.nl/shlib/4.stdc
++/libx.dll...done.
Loaded symbols for /home/danny/tmp/arm/test/remedy.nl/shlib/4.stdc
++/libx.dll
Symbol file not found for coredll.dll
WinMainCRTStartup (hInst=0x5f0000e, hPrevInst=0x0, lpCmdLine=0x3601fc70
L"", nCmdShow=5)
at /home/danny/src/cegcc/svn.sf.net/cegcc/trunk/cegcc/src/mingw/crt3.c:35
35 {
(gdb) info share
>From To Syms Read Shared Object Library
0x42371000 0x4237c1fc
Yes /opt/x86mingw32ce/bin/libgcc_s_sjlj-1.dll
0x41f01000 0x41fd2988
Yes /opt/x86mingw32ce/i386-mingw32ce/lib/libstdc++-6.dll
0x41ee1000 0x41ee7068
Yes /home/danny/tmp/arm/test/remedy.nl/shlib/4.stdc++/libx.dll
No coredll.dll
(gdb)
--
Danny Backx ; danny.backx - at - scarlet.be ; http://danny.backx.info