aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2005-04-22 19:06:23 +0000
committerMark Kettenis <kettenis@gnu.org>2005-04-22 19:06:23 +0000
commita33e488c68c19fc82446133521f8c1f419ab7599 (patch)
treec88e1589b928ca5bcac0dd9934cbc595478fc466 /gdb/sparc-linux-tdep.c
parent * configure.in: Replace BFD_NEED_DECLARATION checks by the (diff)
downloadbinutils-gdb-a33e488c68c19fc82446133521f8c1f419ab7599.tar.gz
binutils-gdb-a33e488c68c19fc82446133521f8c1f419ab7599.tar.bz2
binutils-gdb-a33e488c68c19fc82446133521f8c1f419ab7599.zip
* sparc-linux-tdep.c: Update copyright year.
(sparc32_linux_init_abi): Set skip_trampoline_code and solib_svr4_fetch_link_map_offsets. Set TDEP->plt_entry_size. Don't set software_single_step and don't call sparc32_sol2_init_abi. * sparc64-linux-tdep.c: Update copyright year. (sparc64_linux_init_abi): Set skip_trampoline_code and solib_svr4_fetch_link_map_offsets. Set TDEP->plt_entry_size. Don't set software_single_step and don't call sparc64_sol2_init_abi.
Diffstat (limited to 'gdb/sparc-linux-tdep.c')
-rw-r--r--gdb/sparc-linux-tdep.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/gdb/sparc-linux-tdep.c b/gdb/sparc-linux-tdep.c
index 6b8ad311b4e..71772d896eb 100644
--- a/gdb/sparc-linux-tdep.c
+++ b/gdb/sparc-linux-tdep.c
@@ -1,6 +1,6 @@
/* Target-dependent code for GNU/Linux SPARC.
- Copyright 2003, 2004 Free Software Foundation, Inc.
+ Copyright 2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of GDB.
@@ -144,14 +144,19 @@ sparc32_linux_sigframe_init (const struct tramp_frame *self,
static void
sparc32_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
tramp_frame_prepend_unwinder (gdbarch, &sparc32_linux_sigframe);
tramp_frame_prepend_unwinder (gdbarch, &sparc32_linux_rt_sigframe);
- /* GNU/Linux is very similar to Solaris ... */
- sparc32_sol2_init_abi (info, gdbarch);
+ /* GNU/Linux has SVR4-style shared libraries... */
+ set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
+ set_solib_svr4_fetch_link_map_offsets
+ (gdbarch, svr4_ilp32_fetch_link_map_offsets);
- /* ... but doesn't have kernel-assisted single-stepping support. */
- set_gdbarch_software_single_step (gdbarch, sparc_software_single_step);
+ /* ...which means that we need some special handling when doing
+ prologue analysis. */
+ tdep->plt_entry_size = 12;
/* GNU/Linux doesn't support the 128-bit `long double' from the psABI. */
set_gdbarch_long_double_bit (gdbarch, 64);