diff options
Diffstat (limited to 'gdb/arch')
-rw-r--r-- | gdb/arch/ppc-linux-common.c | 6 | ||||
-rw-r--r-- | gdb/arch/ppc-linux-common.h | 3 | ||||
-rw-r--r-- | gdb/arch/ppc-linux-tdesc.h | 2 |
3 files changed, 9 insertions, 2 deletions
diff --git a/gdb/arch/ppc-linux-common.c b/gdb/arch/ppc-linux-common.c index 7cf08eb7daf..b8a7cdb2ad3 100644 --- a/gdb/arch/ppc-linux-common.c +++ b/gdb/arch/ppc-linux-common.c @@ -53,7 +53,8 @@ ppc_linux_match_description (struct ppc_linux_features features) if (features.cell) tdesc = tdesc_powerpc_cell64l; else if (features.vsx) - tdesc = (features.ppr_dscr? tdesc_powerpc_isa205_ppr_dscr_vsx64l + tdesc = (features.isa207? tdesc_powerpc_isa207_vsx64l + : features.ppr_dscr? tdesc_powerpc_isa205_ppr_dscr_vsx64l : features.isa205? tdesc_powerpc_isa205_vsx64l : tdesc_powerpc_vsx64l); else if (features.altivec) @@ -70,7 +71,8 @@ ppc_linux_match_description (struct ppc_linux_features features) if (features.cell) tdesc = tdesc_powerpc_cell32l; else if (features.vsx) - tdesc = (features.ppr_dscr? tdesc_powerpc_isa205_ppr_dscr_vsx32l + tdesc = (features.isa207? tdesc_powerpc_isa207_vsx32l + : features.ppr_dscr? tdesc_powerpc_isa205_ppr_dscr_vsx32l : features.isa205? tdesc_powerpc_isa205_vsx32l : tdesc_powerpc_vsx32l); else if (features.altivec) diff --git a/gdb/arch/ppc-linux-common.h b/gdb/arch/ppc-linux-common.h index 666954e765a..f0e4a4221fb 100644 --- a/gdb/arch/ppc-linux-common.h +++ b/gdb/arch/ppc-linux-common.h @@ -32,6 +32,7 @@ struct target_desc; #define PPC_LINUX_SIZEOF_VSXREGSET 256 #define PPC_LINUX_SIZEOF_PPRREGSET 8 #define PPC_LINUX_SIZEOF_DSCRREGSET 8 +#define PPC_LINUX_SIZEOF_TARREGSET 8 /* Check if the hwcap auxv entry indicates that isa205 is supported. */ bool ppc_linux_has_isa205 (CORE_ADDR hwcap); @@ -44,6 +45,7 @@ struct ppc_linux_features bool vsx; bool isa205; bool ppr_dscr; + bool isa207; bool cell; }; @@ -55,6 +57,7 @@ const struct ppc_linux_features ppc_linux_no_features = { false, false, false, + false, }; /* Return a target description that matches FEATURES. */ diff --git a/gdb/arch/ppc-linux-tdesc.h b/gdb/arch/ppc-linux-tdesc.h index 3b5a2286e0b..99628797866 100644 --- a/gdb/arch/ppc-linux-tdesc.h +++ b/gdb/arch/ppc-linux-tdesc.h @@ -30,6 +30,7 @@ extern struct target_desc *tdesc_powerpc_isa205_32l; extern struct target_desc *tdesc_powerpc_isa205_altivec32l; extern struct target_desc *tdesc_powerpc_isa205_vsx32l; extern struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx32l; +extern struct target_desc *tdesc_powerpc_isa207_vsx32l; extern struct target_desc *tdesc_powerpc_e500l; extern struct target_desc *tdesc_powerpc_64l; @@ -40,5 +41,6 @@ extern struct target_desc *tdesc_powerpc_isa205_64l; extern struct target_desc *tdesc_powerpc_isa205_altivec64l; extern struct target_desc *tdesc_powerpc_isa205_vsx64l; extern struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx64l; +extern struct target_desc *tdesc_powerpc_isa207_vsx64l; #endif /* ARCH_PPC_LINUX_TDESC_H */ |