Blob Blame History Raw
From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
From: Keith Seitz <keiths@redhat.com>
Date: Fri, 11 Jan 2019 17:02:18 -0500
Subject: gdb-rhbz1187581-power8-regs-not-in-8-2-13of15.patch

;; [PowerPC] Reject tdescs with VSX and no FPU or Altivec
;; Pedro Franco de Carvalho

    [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  <pedromfc@linux.ibm.com>

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

diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c
--- a/gdb/rs6000-tdep.c
+++ b/gdb/rs6000-tdep.c
@@ -6096,7 +6096,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;