[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Mon, 10 May 2004 21:55:01 -0500
I'm trying to use binutils.2.14 in an IA-32 machine.
I found that indirect call is disassembled incorrectly.
I tested ia64_dis_opcode function for the indirect call.
Here is my test code
ia64_opcode* inst_info = ia64_dis_opcode( 137439006720,
the result is NULL pointer.
But this instruction is correctly disassembled in binutils.2.12
Here is the output of objdump and the version of objdump is
(GNU objdump 22.214.171.124.1 20020307 Debian/GNU Linux)
4000000000022290: 1d 00 00 00 01 00 [MFB] nop.m 0x0
4000000000022296: 00 00 00 02 00 00 nop.f 0x0
400000000002229c: 68 00 00 10 br.call.sptk.many
When I tried the same function with binutils.2.12
it returns the correct inst_info pointer.
inst_info.name : br.call.sptk.many insn_opcode: 137439006720
so it looks like between 2.12 and 2.14 this indirect call is changed.
I'm wondering there is an easy way to fix this problem (since we already
modified version 2.14 for some other purpose).
If you could give someone's name who might know this problem, I'd appreciate
Thank you for your time
- disassemble br.call.sptk.many,
Hyesoon Kim <=