diff options
-rw-r--r-- | gdb/ChangeLog | 10 | ||||
-rw-r--r-- | gdb/config/powerpc/tm-linux.h | 5 | ||||
-rw-r--r-- | gdb/ppc-linux-tdep.c | 4 |
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 |