This is the mail archive of the mailing list for the binutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][x86] Fix for objdump internal error

Hi HJ,

Attached is patch with the tests. Ok for trunk?

2013-12-17  Michael Zolotukhin  <>

        * gas/i386/disassem.s: New.
        * gas/i386/disassem.d: New.
        * gas/i386/x86-64-disassem.s: New.
        * gas/i386/x86-64-disassem.d: New.
        * gas/i386/i386.exp: Call new tests.

2013-12-17  Michael Zolotukhin  <>

        * i386-dis.c (MOD_FF_REG_3): New.
        (MOD_FF_REG_5): New.
        (mod_table): Add new entries.
        (reg_table): Fix decoding of ljmp and lcall.

BTW, the testing is still in progress, but it seems that it won't find
other bugs. It performs excessive backtracking of all possible
encoding-bytes, skipping only traversal through different values of
immediates. However, there is a suspicious place - somewhere in
print_insn routine there is a memory leakage. I'm going to investigate
it, but most probably it is caused by my a bit hacky changes.


On 17 December 2013 17:27, H.J. Lu <> wrote:
> On Tue, Dec 17, 2013 at 4:20 AM, Michael Zolotukhin
> <> wrote:
>> Hi,
>> Recently I've implemented a stress testing for x86 objdump, and that
>> revealed an internal error.
>> Here is a small reproducer:
>> $ cat t.s
>> .byte 0xFF, 0xDC
>> $ as t.s
>> $ objdump -dw
>> ...
>> 0000000000000000 <.text>:
>>    0:   ff dc                   lcallq *<internal disassembler error>
>> The fix is attached, but it is without the test - where should this
>> test be placed?
> Please add 2 tests to gas/testsuite/gas/i386, disassem.s
> and x86-64-disassem.s.
> Thanks.
> --
> H.J.

Best regards,
Michael V. Zolotukhin,
Software Engineer
Intel Corporation.

Attachment: ljmp-fix-with-test.patch
Description: Binary data

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]