From: Pedro Franco de Carvalho Date: Fri, 26 Oct 2018 12:37:55 +0000 (-0300) Subject: [PowerPC] Reject tdescs with VSX and no FPU or Altivec X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=81ab84fd6cdaab121988e0c424f8cdc0ae472e14;p=binutils-gdb.git [PowerPC] Reject tdescs with VSX and no FPU or Altivec Currently rs6000_gdbarch_init will accept a tdesc with the "org.gnu.gdb.power.vsx" feature but without the "org.gnu.gdb.power.altivec" or "org.gnu.gdb.power.fpu". It isn't clear from the standard features documentation that these are requirements. However, these tdescs would cause trouble in the VSX pseudo-register functions, so this patch will cause them to be rejected. gdb/ChangeLog: 2018-10-26 Pedro Franco de Carvalho * rs6000-tdep.c (rs6000_gdbarch_init): Reject tdescs with vsx but without altivec or fpu. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index e07af9d4ded..74c7b396eba 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2018-10-26 Pedro Franco de Carvalho + + * rs6000-tdep.c (rs6000_gdbarch_init): Reject tdescs with vsx but + without altivec or fpu. + 2018-10-26 Edjunior Barbosa Machado Pedro Franco de Carvalho diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c index 54591dbff6a..7e41d8ff731 100644 --- a/gdb/rs6000-tdep.c +++ b/gdb/rs6000-tdep.c @@ -6042,7 +6042,8 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) valid_p &= tdesc_numbered_register (feature, tdesc_data, PPC_VSR0_UPPER_REGNUM + i, vsx_regs[i]); - if (!valid_p) + + if (!valid_p || !have_fpu || !have_altivec) { tdesc_data_cleanup (tdesc_data); return NULL;