aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilliam <pgilliam@us.ibm.com>2005-11-01 19:32:36 +0000
committerPaul Gilliam <pgilliam@us.ibm.com>2005-11-01 19:32:36 +0000
commitf5aecab85d670ae338556b5ef702787502796759 (patch)
tree7f778c8ee6dd4b2a6561ad41d0e260602e7661cf
parent362c05fe98907eeba515c04386aee99936914114 (diff)
downloadgdb-f5aecab85d670ae338556b5ef702787502796759.zip
gdb-f5aecab85d670ae338556b5ef702787502796759.tar.gz
gdb-f5aecab85d670ae338556b5ef702787502796759.tar.bz2
* rs6000-tdep.c (rs6000_gdbarch_init): On GNU/Linux, assume that
bfd_mach_ppc64 has altivec unit, just like bfd_mach_ppc.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/rs6000-tdep.c13
2 files changed, 17 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 769139d..7433f62 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2005-11-01 Paul Gilliam <pgilliam@us.ibm.com>
+
+ * rs6000-tdep.c (rs6000_gdbarch_init): On GNU/Linux, assume that
+ bfd_mach_ppc64 has altivec unit, just like bfd_mach_ppc.
+
2005-11-01 Andrew Stubbs <andrew.stubbs@st.com>
* tui/tui-data.h (tui_line_or_address): Encapsulate the union in a
diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c
index 89aa6e3..adfb945 100644
--- a/gdb/rs6000-tdep.c
+++ b/gdb/rs6000-tdep.c
@@ -3376,10 +3376,21 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
switch (info.osabi)
{
+ case GDB_OSABI_LINUX:
+ /* FIXME: pgilliam/2005-10-21: Assume all PowerPC 64-bit linux systems
+ have altivec registers. If not, ptrace will fail the first time it's
+ called to access one and will not be called again. This wart will
+ be removed when Daniel Jacobowitz's proposal for autodetecting target
+ registers is implemented. */
+ if ((v->arch == bfd_arch_powerpc) && ((v->mach)== bfd_mach_ppc64))
+ {
+ tdep->ppc_vr0_regnum = 71;
+ tdep->ppc_vrsave_regnum = 104;
+ }
+ /* Fall Thru */
case GDB_OSABI_NETBSD_AOUT:
case GDB_OSABI_NETBSD_ELF:
case GDB_OSABI_UNKNOWN:
- case GDB_OSABI_LINUX:
set_gdbarch_unwind_pc (gdbarch, rs6000_unwind_pc);
frame_unwind_append_sniffer (gdbarch, rs6000_frame_sniffer);
set_gdbarch_unwind_dummy_id (gdbarch, rs6000_unwind_dummy_id);