diff options
author | Mark Alexander <marka@cygnus> | 1997-02-04 17:18:56 +0000 |
---|---|---|
committer | Mark Alexander <marka@cygnus> | 1997-02-04 17:18:56 +0000 |
commit | 7d9e8fac1a0cef8cb4ae8e2e851bf51db54e5ecc (patch) | |
tree | 7b7360590200f826b6317ab3627872bf6fa43e51 /gdb | |
parent | b348b9fd0eaa0a02916e4b1e32fc047016058d57 (diff) | |
download | gdb-7d9e8fac1a0cef8cb4ae8e2e851bf51db54e5ecc.zip gdb-7d9e8fac1a0cef8cb4ae8e2e851bf51db54e5ecc.tar.gz gdb-7d9e8fac1a0cef8cb4ae8e2e851bf51db54e5ecc.tar.bz2 |
* mips-tdep.c (mips16_get_imm): Fix calculation of extended immediate.
(mips16_heuristic_proc_desc): Recognize jal(x) instruction.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/mips-tdep.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 07c5f9a..bea8753 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +Tue Feb 04 09:04:37 1997 Mark Alexander <marka@cygnus.com> + + * mips-tdep.c (mips16_get_imm): Fix calculation of extended immediate. + (mips16_heuristic_proc_desc): Recognize jal(x) instruction. + Mon Feb 03 17:57:58 1997 Mark Alexander <marka@cygnus.com> * mips-tdep.c (mips16_decode_reg_save): Distinguish between diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index 75f10d1..5369259 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -651,7 +651,7 @@ mips16_get_imm (prev_inst, inst, nbits, scale, is_signed) if ((prev_inst & 0xf800) == 0xf000) /* prev instruction was EXTEND? */ { - offset = ((prev_inst & 0x1f) << 11) | (prev_inst & 0x7e00); + offset = ((prev_inst & 0x1f) << 11) | (prev_inst & 0x7e0); if (offset & 0x8000) /* check for negative extend */ offset = 0 - (0x10000 - (offset & 0xffff)); return offset | (inst & 0x1f); @@ -788,6 +788,8 @@ mips16_heuristic_proc_desc(start_pc, limit_pc, next_frame, sp) temp_saved_regs.regs[reg] = sp + offset; } } + else if ((inst & 0xf800) == 0x1800) /* jal(x) */ + cur_pc += MIPS16_INSTLEN; /* 32-bit instruction */ } } |