* alpha-tdep.c (alpha_next_pc): Use correct register number
for floating-point branch instructions.
This commit is contained in:
parent
3be16b6f91
commit
551e4f2e42
2 changed files with 19 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
2005-05-29 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* alpha-tdep.c (alpha_next_pc): Use correct register number
|
||||
for floating-point branch instructions.
|
||||
|
||||
2005-05-28 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
Jonathan Larmour <jifl@eCosCentric.com>
|
||||
|
||||
|
|
|
@ -1372,6 +1372,7 @@ alpha_next_pc (CORE_ADDR pc)
|
|||
{
|
||||
unsigned int insn;
|
||||
unsigned int op;
|
||||
int regno;
|
||||
int offset;
|
||||
LONGEST rav;
|
||||
char reg[8];
|
||||
|
@ -1404,7 +1405,19 @@ alpha_next_pc (CORE_ADDR pc)
|
|||
}
|
||||
|
||||
/* Need to determine if branch is taken; read RA. */
|
||||
regcache_cooked_read (current_regcache, (insn >> 21) & 0x1f, reg);
|
||||
regno = (insn >> 21) & 0x1f;
|
||||
switch (op)
|
||||
{
|
||||
case 0x31: /* FBEQ */
|
||||
case 0x36: /* FBGE */
|
||||
case 0x37: /* FBGT */
|
||||
case 0x33: /* FBLE */
|
||||
case 0x32: /* FBLT */
|
||||
case 0x35: /* FBNE */
|
||||
regno += FP0_REGNUM;
|
||||
}
|
||||
|
||||
regcache_cooked_read (current_regcache, regno, reg);
|
||||
rav = extract_signed_integer (reg, 8);
|
||||
|
||||
switch (op)
|
||||
|
|
Loading…
Reference in a new issue