/* Common target dependent code for GNU/Linux on PPC systems.
- Copyright (C) 2018 Free Software Foundation, Inc.
+ Copyright (C) 2018-2019 Free Software Foundation, Inc.
This file is part of GDB.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-#include "common-defs.h"
+#include "gdbsupport/common-defs.h"
#include "arch/ppc-linux-common.h"
#include "arch/ppc-linux-tdesc.h"
if (features.cell)
tdesc = tdesc_powerpc_cell64l;
else if (features.vsx)
- tdesc = features.isa205
- ? tdesc_powerpc_isa205_vsx64l : tdesc_powerpc_vsx64l;
+ tdesc = (features.htm? tdesc_powerpc_isa207_htm_vsx64l
+ : 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)
- tdesc = features.isa205
- ? tdesc_powerpc_isa205_altivec64l : tdesc_powerpc_altivec64l;
+ tdesc = (features.isa205? tdesc_powerpc_isa205_altivec64l
+ : tdesc_powerpc_altivec64l);
else
- tdesc = features.isa205?
- tdesc_powerpc_isa205_64l : tdesc_powerpc_64l;
+ tdesc = (features.isa205? tdesc_powerpc_isa205_64l
+ : tdesc_powerpc_64l);
}
else
{
if (features.cell)
tdesc = tdesc_powerpc_cell32l;
else if (features.vsx)
- tdesc = features.isa205
- ? tdesc_powerpc_isa205_vsx32l : tdesc_powerpc_vsx32l;
+ tdesc = (features.htm? tdesc_powerpc_isa207_htm_vsx32l
+ : 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)
- tdesc = features.isa205
- ? tdesc_powerpc_isa205_altivec32l : tdesc_powerpc_altivec32l;
+ tdesc = (features.isa205? tdesc_powerpc_isa205_altivec32l
+ : tdesc_powerpc_altivec32l);
else
- tdesc = features.isa205
- ? tdesc_powerpc_isa205_32l : tdesc_powerpc_32l;
+ tdesc = (features.isa205? tdesc_powerpc_isa205_32l
+ : tdesc_powerpc_32l);
}
gdb_assert (tdesc != NULL);