[PATCH][x86] Fix for objdump internal error
Michael Zolotukhin
michael.v.zolotukhin@gmail.com
Tue Dec 17 16:30:00 GMT 2013
Hi HJ,
Attached is patch with the tests. Ok for trunk?
gas/testsuite/Changelog:
2013-12-17 Michael Zolotukhin <michael.v.zolotukhin@gmail.com>
* 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.
opcodes/Changelog:
2013-12-17 Michael Zolotukhin <michael.v.zolotukhin@gmail.com>
* 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.
Thanks,
Michael
On 17 December 2013 17:27, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Tue, Dec 17, 2013 at 4:20 AM, Michael Zolotukhin
> <michael.v.zolotukhin@gmail.com> 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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ljmp-fix-with-test.patch
Type: application/octet-stream
Size: 3435 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20131217/edac9d71/attachment.obj>
More information about the Binutils
mailing list