diff options
author | Thiemo Seufer <ths@networkno.de> | 2002-05-31 01:58:18 +0000 |
---|---|---|
committer | Thiemo Seufer <ths@networkno.de> | 2002-05-31 01:58:18 +0000 |
commit | 76db943db2364bb439e86bdf13d4957a6de96efc (patch) | |
tree | dd978d1437e6badbf660d223e97016e540f9d27e | |
parent | de888f764ce7389c4457dfde6e4f03ee4daa8c44 (diff) | |
download | gdb-76db943db2364bb439e86bdf13d4957a6de96efc.zip gdb-76db943db2364bb439e86bdf13d4957a6de96efc.tar.gz gdb-76db943db2364bb439e86bdf13d4957a6de96efc.tar.bz2 |
* config/tc-mips.c (md_begin): Add $ra as alias name for $31.
(mips_ip): Likewise.
(mips16_ip): Likewise.
(tc_get_register): Likewise.
-rw-r--r-- | gas/ChangeLog | 7 | ||||
-rw-r--r-- | gas/config/tc-mips.c | 20 |
2 files changed, 24 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 3c281f8..7866b0c 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,10 @@ +2002-05-31 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * config/tc-mips.c (md_begin): Add $ra as alias name for $31. + (mips_ip): Likewise. + (mips16_ip): Likewise. + (tc_get_register): Likewise. + 2002-05-30 Chris G. Demetriou <cgd@broadcom.com> Ed Satterthwaite <ehs@broadcom.com> diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index c742089..8c6a219 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -1337,6 +1337,8 @@ md_begin () symbol_table_insert (symbol_new (buf, reg_section, i, &zero_address_frag)); } + symbol_table_insert (symbol_new ("$ra", reg_section, RA, + &zero_address_frag)); symbol_table_insert (symbol_new ("$fp", reg_section, FP, &zero_address_frag)); symbol_table_insert (symbol_new ("$sp", reg_section, SP, @@ -8194,7 +8196,12 @@ mips_ip (str, ip) goto notreg; else { - if (s[1] == 'f' && s[2] == 'p') + if (s[1] == 'r' && s[2] == 'a') + { + s += 3; + regno = RA; + } + else if (s[1] == 'f' && s[2] == 'p') { s += 3; regno = FP; @@ -9147,7 +9154,12 @@ mips16_ip (str, ip) } else { - if (s[1] == 'f' && s[2] == 'p') + if (s[1] == 'r' && s[2] == 'a') + { + s += 3; + regno = RA; + } + else if (s[1] == 'f' && s[2] == 'p') { s += 3; regno = FP; @@ -12202,7 +12214,9 @@ tc_get_register (frame) } else { - if (strncmp (input_line_pointer, "fp", 2) == 0) + if (strncmp (input_line_pointer, "ra", 2) == 0) + reg = RA; + else if (strncmp (input_line_pointer, "fp", 2) == 0) reg = FP; else if (strncmp (input_line_pointer, "sp", 2) == 0) reg = SP; |