aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog10
-rw-r--r--gdb/config/powerpc/tm-linux.h5
-rw-r--r--gdb/ppc-linux-tdep.c4
3 files changed, 19 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index e88b435..ef18af7 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,13 @@
+2003-05-29 Jim Blandy <jimb@redhat.com>
+
+ Use gdbarch methods for solib stuff on PowerPC Linux.
+ * config/powerpc/tm-linux.h (IN_SOLIB_CALL_TRAMPOLINE,
+ SKIP_TRAMPOLINE_CODE): #undef these, so the gdbarch methods will
+ show through.
+ * ppc-linux-tdep.c (ppc_linux_init_abi): Register
+ IN_SOLIB_CALL_TRAMPOLINE and SKIP_TRAMPOLINE_CODE methods here,
+ giving the same effect as the #definitions above.
+
2003-05-29 Adam Fedor <fedor@gnu.org>
* objc-lang.c (CONVERT_FUNCPTR): Remove macro
diff --git a/gdb/config/powerpc/tm-linux.h b/gdb/config/powerpc/tm-linux.h
index d69dfc1..eba57c0 100644
--- a/gdb/config/powerpc/tm-linux.h
+++ b/gdb/config/powerpc/tm-linux.h
@@ -26,6 +26,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#undef SKIP_TRAMPOLINE_CODE
#include "config/tm-linux.h"
+/* We've multi-arched these. (Note that this completely undoes the
+ effect of config/tm-linux.h #including config/tm-sysv4.h.) */
+#undef IN_SOLIB_CALL_TRAMPOLINE
+#undef SKIP_TRAMPOLINE_CODE
+
/* We can single step on linux */
#undef SOFTWARE_SINGLE_STEP
#define SOFTWARE_SINGLE_STEP(p,q) internal_error (__FILE__, __LINE__, "Will never execute!")
diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c
index 9284751..44a5b81 100644
--- a/gdb/ppc-linux-tdep.c
+++ b/gdb/ppc-linux-tdep.c
@@ -746,6 +746,10 @@ ppc_linux_init_abi (struct gdbarch_info info,
set_solib_svr4_fetch_link_map_offsets
(gdbarch, ppc_linux_svr4_fetch_link_map_offsets);
}
+
+ /* Shared library handling. */
+ set_gdbarch_in_solib_call_trampoline (gdbarch, in_plt_section);
+ set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
}
void