On Mon, Feb 25, 2008 at 03:21:36PM +0100, steve.kreyer web.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 <dan codesourcery.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.
*/
|