diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/rs6000-tdep.c | 10 |
2 files changed, 11 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9e74395..db8a6a7 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2018-05-22 Pedro Franco de Carvalho <pedromfc@linux.vnet.ibm.com> + * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only + if the size of fpscr is larger than 32 bits. + +2018-05-22 Pedro Franco de Carvalho <pedromfc@linux.vnet.ibm.com> + * ppc-linux-tdep.c (ppc_linux_vsxregset): New function. (ppc32_linux_vsxregmap): New global. (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap, diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c index 0a56c78..ff4699c 100644 --- a/gdb/rs6000-tdep.c +++ b/gdb/rs6000-tdep.c @@ -5981,14 +5981,16 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) return NULL; } have_fpu = 1; + + /* The fpscr register was expanded in isa 2.05 to 64 bits + along with the addition of the decimal floating point + facility. */ + if (tdesc_register_size (feature, "fpscr") > 32) + have_dfp = 1; } else have_fpu = 0; - /* The DFP pseudo-registers will be available when there are floating - point registers. */ - have_dfp = have_fpu; - feature = tdesc_find_feature (tdesc, "org.gnu.gdb.power.altivec"); if (feature != NULL) |