mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-24 12:35:55 +08:00
PR1202, mcore disassembler: wrong address loopt
Fixes a 16 year old bug report, which even came with a patch. opcodes/ PR 1202 * mcore-dis.c (print_insn_mcore): Correct loopt disassembly. Use unsigned int for inst. gas/ PR 1202 * testsuite/gas/mcore/allinsn.d: Correct loopt expected output.
This commit is contained in:
parent
9ef5bfdad9
commit
a38d139645
@ -1,3 +1,8 @@
|
||||
2021-06-03 Alan Modra <amodra@gmail.com>
|
||||
|
||||
PR 1202
|
||||
* testsuite/gas/mcore/allinsn.d: Correct loopt expected output.
|
||||
|
||||
2021-05-29 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* testsuite/gas/ppc/raw.s,
|
||||
|
@ -199,7 +199,7 @@ Disassembly of section \.text:
|
||||
7e: 0041 ldq r4-r7, \(r1\)
|
||||
|
||||
0+080 <loopt>:
|
||||
80: 048e loopt r8, 0x64
|
||||
80: 048e loopt r8, 0x7e
|
||||
|
||||
0+082 <LRW>:
|
||||
82: 7901 lrw r9, 0x3C0C1BBA
|
||||
|
@ -1,3 +1,9 @@
|
||||
2021-06-03 Alan Modra <amodra@gmail.com>
|
||||
|
||||
PR 1202
|
||||
* mcore-dis.c (print_insn_mcore): Correct loopt disassembly.
|
||||
Use unsigned int for inst.
|
||||
|
||||
2021-06-02 Shahab Vahedi <shahab@synopsys.com>
|
||||
|
||||
* arc-dis.c (arc_option_arg_t): New enumeration.
|
||||
|
@ -95,7 +95,7 @@ print_insn_mcore (bfd_vma memaddr,
|
||||
unsigned char ibytes[4];
|
||||
fprintf_ftype print_func = info->fprintf_func;
|
||||
void *stream = info->stream;
|
||||
unsigned short inst;
|
||||
unsigned int inst;
|
||||
unsigned int i;
|
||||
int status;
|
||||
|
||||
@ -215,10 +215,10 @@ print_insn_mcore (bfd_vma memaddr,
|
||||
|
||||
case BL:
|
||||
{
|
||||
uint32_t val = inst & 0x000F;
|
||||
uint32_t val = memaddr + 2 + ((inst | ~0xF) << 1);
|
||||
|
||||
(*print_func) (stream, "\t%s, 0x%x",
|
||||
grname[(inst >> 4) & 0xF],
|
||||
(uint32_t) (memaddr - (val << 1)));
|
||||
grname[(inst >> 4) & 0xF], val);
|
||||
}
|
||||
break;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user