List Info

Thread: Re: Using dlopen and remote debugging




Re: Using dlopen and remote debugging
country flaguser name
Germany
2008-02-25 08:21:36
Hi Daniel, hello Rolf,

first, thanks for your answers, but I am afraid Daniel is
right. "info shared" says:
  (gdb) c
  Continuing.

  Breakpoint 1, main () at test2.c:12
  12          lib_handle = dlopen("/libtest.so",
RTLD_NOW);
  (gdb) n
  13          foop = dlsym(lib_handle, "foo");
  (gdb) info shared
  No shared libraries loaded at this time.

Is there anything else I can do to debug this library using
the gdb sh port?

Thanks and regards,
Steve

-----Ursprüngliche Nachricht-----
Von: "Daniel Jacobowitz" <drowfalse.org>
Gesendet: 25.02.08 14:30:52
An: Steve Kreyer <steve.kreyerweb.de>
CC: gdbsourceware.org
Betreff: Re: Using dlopen and remote debugging


On Mon, Feb 25, 2008 at 01:04:12PM +0100, Steve Kreyer
wrote:
>   Breakpoint 1, main () at test2.c:12
>   12 lib_handle = dlopen("/libtest.so",
RTLD_NOW);
>   (gdb) n

At this point, what does info shared say?

The SH Linux port of GDB is not well-cared-for.  I suspect
it is
missing shared library support entirely.

-- 
Daniel Jacobowitz
CodeSourcery



____________________________________________________________
_____________
In 5 Schritten zur eigenen Homepage. Jetzt Domain sichern
und gestalten! 
Nur 3,99 EUR/Monat! http://www.ma
ildomain.web.de/?mc=021114


Re: Using dlopen and remote debugging
country flaguser name
United States
2008-02-25 08:32:32
On Mon, Feb 25, 2008 at 03:21:36PM +0100, steve.kreyerweb.de
wrote:
> Is there anything else I can do to debug this library
using the gdb sh port?

Well, you could try this untested patch...

The sh-linux-tdep.c parts bring it in line with other Linux
ports, but
are not specifically important for your problem.  The
configure.tgt
parts fix the fact that "sh4-linux-uclibc" was not
recognized as a
Linux system.

-- 
Daniel Jacobowitz
CodeSourcery

2008-02-25  Daniel Jacobowitz  <dancodesourcery.com>

	* configure.tgt (sh-*-linux*): Match sh*.  Add
glibc-tdep.o.
	* sh-linux-tdep.c (sh_linux_init_abi): Use
glibc_skip_solib_resolver
	and svr4_fetch_objfile_link_map.
	* Makefile.in (sh-linux-tdep.o): Update.

Index: Makefile.in
============================================================
=======
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.984
diff -u -p -r1.984 Makefile.in
--- Makefile.in	20 Feb 2008 15:45:20 -0000	1.984
+++ Makefile.in	25 Feb 2008 14:31:23 -0000
 -2703,7
+2703,7  shnbsd-tdep.o: shnbsd-tdep.c $(defs_h) $
 	$(shnbsd_tdep_h) $(solib_svr4_h)
 sh-stub.o: sh-stub.c
 sh-linux-tdep.o: sh-linux-tdep.c $(defs_h) $(osabi_h)
$(solib_svr4_h) 
-	$(symtab_h)
+	$(symtab_h) $(glibc_tdep_h)
 sh-tdep.o: sh-tdep.c $(defs_h) $(frame_h) $(frame_base_h)
$(frame_unwind_h) 
 	$(dwarf2_frame_h) $(symtab_h) $(gdbtypes_h) $(gdbcmd_h)
$(gdbcore_h) 
 	$(value_h) $(dis_asm_h) $(inferior_h) $(gdb_string_h) 
Index: configure.tgt
============================================================
=======
RCS file: /cvs/src/src/gdb/configure.tgt,v
retrieving revision 1.200
diff -u -p -r1.200 configure.tgt
--- configure.tgt	11 Feb 2008 21:58:41 -0000	1.200
+++ configure.tgt	25 Feb 2008 14:31:23 -0000
 -367,11
+367,10  score-*-*)
 	gdb_target_obs="score-tdep.o"
 	;;
 
-# FIXME should that be sh*-*-linux*, perhaps?
-sh-*-linux*)
+sh*-*-linux*)
 	# Target: GNU/Linux Super-H
 	gdb_target_obs="sh-tdep.o sh64-tdep.o sh-linux-tdep.o
monitor.o 
-			dsrec.o solib.o solib-svr4.o symfile-mem.o"
+			dsrec.o solib.o solib-svr4.o symfile-mem.o
glibc-tdep.o"
 	gdb_sim=../sim/sh/libsim.a
 	build_gdbserver=yes
 	;;
Index: sh-linux-tdep.c
============================================================
=======
RCS file: /cvs/src/src/gdb/sh-linux-tdep.c,v
retrieving revision 1.6
diff -u -p -r1.6 sh-linux-tdep.c
--- sh-linux-tdep.c	1 Jan 2008 22:53:12 -0000	1.6
+++ sh-linux-tdep.c	25 Feb 2008 14:31:23 -0000
 -23,6
+23,8 
 #include "solib-svr4.h"
 #include "symtab.h"
 
+#include "glibc-tdep.h"
+
 static void
 sh_linux_init_abi (struct gdbarch_info info, struct gdbarch
*gdbarch)
 {
 -30,6
+32,10  sh_linux_init_abi (struct gdbarch_info i
   set_gdbarch_skip_trampoline_code (gdbarch,
find_solib_trampoline_target);
   set_solib_svr4_fetch_link_map_offsets
     (gdbarch, svr4_ilp32_fetch_link_map_offsets);
+  set_gdbarch_skip_solib_resolver (gdbarch,
glibc_skip_solib_resolver);
+
+  set_gdbarch_fetch_tls_load_module_address (gdbarch,
+                                            
svr4_fetch_objfile_link_map);
 }
 
 /* Provide a prototype to silence -Wmissing-prototypes. 
*/

[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )