X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fppc-linux-tdep.c;h=0fc6fe03b9c891657a78cfd2d52fd0223ebfd406;hb=460014f572f44fe3e8deb146cb92fd312c4c3339;hp=cdf362f22604c536b9fec7cab9186a07553b52dd;hpb=d78489bf604bd655936b653e8aacaef50885a692;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c index cdf362f226..0fc6fe03b9 100644 --- a/gdb/ppc-linux-tdep.c +++ b/gdb/ppc-linux-tdep.c @@ -57,6 +57,7 @@ #include "parser-defs.h" #include "user-regs.h" #include +#include "elf-bfd.h" /* for elfcore_write_* */ #include "features/rs6000/powerpc-32l.c" #include "features/rs6000/powerpc-altivec32l.c" @@ -1335,6 +1336,9 @@ ppc_linux_init_abi (struct gdbarch_info info, set_gdbarch_convert_from_func_ptr_addr (gdbarch, ppc64_convert_from_func_ptr_addr); + set_gdbarch_elf_make_msymbol_special (gdbarch, + ppc64_elf_make_msymbol_special); + /* Shared library handling. */ set_gdbarch_skip_trampoline_code (gdbarch, ppc64_skip_trampoline_code); set_solib_svr4_fetch_link_map_offsets @@ -1368,6 +1372,13 @@ ppc_linux_init_abi (struct gdbarch_info info, set_gdbarch_core_regset_sections (gdbarch, ppc64_linux_fp_regset_sections); } + + /* PPC32 uses a different prpsinfo32 compared to most other Linux + archs. */ + if (tdep->wordsize == 4) + set_gdbarch_elfcore_write_linux_prpsinfo (gdbarch, + elfcore_write_ppc_linux_prpsinfo32); + set_gdbarch_regset_from_core_section (gdbarch, ppc_linux_regset_from_core_section); set_gdbarch_core_read_description (gdbarch, ppc_linux_core_read_description);