Use gdbarch methods for solib stuff on PowerPC Linux.
authorJim Blandy <jimb@codesourcery.com>
Fri, 30 May 2003 03:44:05 +0000 (03:44 +0000)
committerJim Blandy <jimb@codesourcery.com>
Fri, 30 May 2003 03:44:05 +0000 (03:44 +0000)
* 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.

gdb/ChangeLog
gdb/config/powerpc/tm-linux.h
gdb/ppc-linux-tdep.c

index e88b4352b9d4638c8ea86dbcb3c8dbcce179231a..ef18af760210301ba23d43c366286797b06d6afd 100644 (file)
@@ -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
index d69dfc1f5bfd4abf52b8665ac9085250f9fcf056..eba57c0f41132f774cef12ed5fe714861a5cf437 100644 (file)
@@ -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!")
index 9284751fd0ccac23f2b4bbccfed381fcb666733e..44a5b81367f0f0809faa6adcc0ca6ab726e8a46f 100644 (file)
@@ -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