[PowerPC] Reject tdescs with VSX and no FPU or Altivec
authorPedro Franco de Carvalho <pedromfc@linux.ibm.com>
Fri, 26 Oct 2018 12:37:55 +0000 (09:37 -0300)
committerPedro Franco de Carvalho <pedromfc@linux.ibm.com>
Fri, 26 Oct 2018 13:18:57 +0000 (10:18 -0300)
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  <pedromfc@linux.ibm.com>

* rs6000-tdep.c (rs6000_gdbarch_init): Reject tdescs with vsx but
without altivec or fpu.

gdb/ChangeLog
gdb/rs6000-tdep.c

index e07af9d4ded879aa3391a141b6802118ead03a49..74c7b396ebae912be5b99629032654088b331e47 100644 (file)
@@ -1,3 +1,8 @@
+2018-10-26  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
+
+       * rs6000-tdep.c (rs6000_gdbarch_init): Reject tdescs with vsx but
+       without altivec or fpu.
+
 2018-10-26  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
            Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
 
index 54591dbff6a677b98c08dddac29fe892d91013d2..7e41d8ff731c54ad987f37f0d85651da5022d8cc 100644 (file)
@@ -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;