aboutsummaryrefslogtreecommitdiff
path: root/gdb/arch
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/arch')
-rw-r--r--gdb/arch/ppc-linux-common.c6
-rw-r--r--gdb/arch/ppc-linux-common.h3
-rw-r--r--gdb/arch/ppc-linux-tdesc.h2
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 */