https://sourceware.org/bugzilla/show_bug.cgi?id=19983

            Bug ID: 19983
           Summary: objdump --adjust-vma fails to understand the VMA>=2^32
                    on 32-bit host with -m i386:x86-64
           Product: binutils
           Version: 2.26
            Status: NEW
          Severity: normal
          Priority: P2
         Component: binutils
          Assignee: unassigned at sourceware dot org
          Reporter: b7.10110111 at gmail dot com
  Target Milestone: ---

I'm on a 32-bit x86 machine, trying to disassemble some 64-bit x86_64 code.
Here's an example sequence of commands which reproduces the bug (on 64-bit host
it works correctly):

echo 124 > /tmp/test.bin
objdump -D --target=binary -m i386:x86-64 --adjust-vma=0x7fff015cb0c8
/tmp/test.bin

This gives me the following output:
--------------------

/tmp/test.bin:     file format binary


Disassembly of section .data:

ffffffff <.data>:
ffff:   31                      .byte 0x31
   0:   Address 0x00000000 is out of bounds.

--------------------
But if I change 0x7fff015cb0c8 to 0x015cb0c8, so that it fits in 32 bits, I get
normal disassembly:
--------------------

/tmp/test.bin:     file format binary


Disassembly of section .data:

015cb0c8 <.data>:
 15cb0c8:       31 32                   xor    %esi,(%rdx)
 15cb0ca:       34 0a                   xor    $0xa,%al
--------------------

As we can see %rdx here, it's obvious that 32-bit version of objdump does
support 64-bit code. But apparently, --adjust-vma still doesn't fully support
it.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to