MIPS objdump: Add eabi32 and eabi64 ABI options

Extend gpr and fpr register names with names suitable for both EABIs.

Heavily inspired by the EABI documenation written by Eric Christopher,
which can be read at
https://sourceware.org/legacy-ml/binutils/2003-06/msg00436.html

2025-02-15  Anghelo Carvajal  <angheloalf95@gmail.com>

	* mips-dis.c (mips_fpr_names_eabi32): New variable.
	(mips_fpr_names_eabi64): New variable.
	(mips_abi_choices): Add "eabi32" and "eabi64" options.

Signed-off-by: Anghelo Carvajal <angheloalf95@gmail.com>
This commit is contained in:
Anghelo Carvajal
2025-02-15 01:30:58 +00:00
committed by Maciej W. Rozycki
parent e8f545e985
commit caaa18f212
6 changed files with 114 additions and 0 deletions

View File

@@ -106,6 +106,22 @@ static const char * const mips_fpr_names_64[32] =
"fs0", "fs1", "fs2", "fs3", "fs4", "fs5", "fs6", "fs7"
};
static const char * const mips_fpr_names_eabi32[32] =
{
"fv0", "fv0f", "fv1", "fv1f", "ft0", "ft0f", "ft1", "ft1f",
"ft2", "ft2f", "ft3", "ft3f", "fa0", "fa0f", "fa1", "fa1f",
"fa2", "fa2f", "fa3", "fa3f", "fs0", "fs0f", "fs1", "fs1f",
"fs2", "fs2f", "fs3", "fs3f", "fs4", "fs4f", "fs5", "fs5f",
};
static const char * const mips_fpr_names_eabi64[32] =
{
"fv0", "fv1", "ft0", "ft1", "ft2", "ft3", "ft4", "ft5",
"ft6", "ft7", "ft8", "ft9", "fa0", "fa1", "fa2", "fa3",
"fa4", "fa5", "fa6", "fa7", "fs0", "fs1", "fs2", "fs3",
"fs4", "fs5", "fs6", "fs7", "fs8", "fs9", "fs10", "fs11",
};
static const char * const mips_cp0_names_numeric[32] =
{
"$0", "$1", "$2", "$3", "$4", "$5", "$6", "$7",
@@ -454,6 +470,8 @@ struct mips_abi_choice mips_abi_choices[] =
{ "32", mips_gpr_names_oldabi, mips_fpr_names_32 },
{ "n32", mips_gpr_names_newabi, mips_fpr_names_n32 },
{ "64", mips_gpr_names_newabi, mips_fpr_names_64 },
{ "eabi32", mips_gpr_names_newabi, mips_fpr_names_eabi32 },
{ "eabi64", mips_gpr_names_newabi, mips_fpr_names_eabi64 },
};
struct mips_arch_choice