aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/Makefile.in2
-rw-r--r--gdb/configure.tgt5
-rw-r--r--gdb/sh-linux-tdep.c6
4 files changed, 16 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index afd7ef1..5dba653 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2008-02-26 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.
+
2008-02-26 Thiago Jung Bauermann <bauerman@br.ibm.com>
* amd64-tdep.c (amd64_classify): Add support for decimal float
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 027cbb1..ba64982 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -2703,7 +2703,7 @@ shnbsd-tdep.o: shnbsd-tdep.c $(defs_h) $(gdbcore_h) $(regcache_h) $(regset_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) \
diff --git a/gdb/configure.tgt b/gdb/configure.tgt
index 1dcb833..b4e91f4 100644
--- a/gdb/configure.tgt
+++ b/gdb/configure.tgt
@@ -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
;;
diff --git a/gdb/sh-linux-tdep.c b/gdb/sh-linux-tdep.c
index b93b4f8..dc724d3 100644
--- a/gdb/sh-linux-tdep.c
+++ b/gdb/sh-linux-tdep.c
@@ -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 info, struct gdbarch *gdbarch)
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. */