[Bug binutils/11960] New: objdump gets the wrong length for pushw immediate in 64 bit mode
In 64 bit code, objdump misunderstands the pushw immediate instruction. I believe the disassembly for this example should be: "pushw $0x", followed by whatever junk for the 0xaa and 0xbb bytes. The disassembler is eating two extra bytes and displaying a 64 bit value instead of a 16 bit one. example: $ cat pushw.s .text pushw $0x .byte 0xaa .byte 0xbb $ as -o pushw.o pushw.s $ objdump -d pushw.o pushw.o: file format elf64-x86-64 Disassembly of section .text: <.text>: 0: 66 68 22 22 aa bb pushw $0xbbaa $ I found the same behavior with these versions: 2.19.51.0.14-3.fc11 20090722 2.20.1.20100303 -- Summary: objdump gets the wrong length for pushw immediate in 64 bit mode Product: binutils Version: 2.20 Status: NEW Severity: normal Priority: P2 Component: binutils AssignedTo: unassigned at sources dot redhat dot com ReportedBy: alex at cloudswitch dot com CC: bug-binutils at gnu dot org http://sourceware.org/bugzilla/show_bug.cgi?id=11960 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug ld/11956] relocation truncated to fit R_MIPS_TLS_GD linking xulrunner
-- What|Removed |Added CC||rixed at free dot fr http://sourceware.org/bugzilla/show_bug.cgi?id=11956 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/11960] objdump gets the wrong length for pushw immediate in 64 bit mode
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2010-08-31 21:57 --- Subject: Bug 11960 CVSROOT:/cvs/src Module name:src Changes by: h...@sourceware.org 2010-08-31 21:56:58 Modified files: gas/testsuite : ChangeLog gas/testsuite/gas/i386: opcode-intel.d x86-64-opcode.d x86-64-opcode.s opcodes: ChangeLog i386-dis.c Log message: Fix "pushw imm16" for x86-64 disassembler. gas/testsuite/ 2010-08-31 H.J. Lu PR binutils/11960 * gas/i386/opcode-intel.d: Updated. * gas/i386/x86-64-opcode.d: Likewise. * gas/i386/x86-64-opcode.s: Add a "pushw imm16" test. opcodes/ 2010-08-31 H.J. Lu PR binutils/11960 * i386-dis.c (sIv): New. (dis386): Replace Iq with sIv on "pushT". (reg_table): Replace T with {T|} on callT, JcallT, jmpT and JjmpT. (x86_64_table): Replace {T|}/{P|} with P. (putop): Add 'w' to 'T'/'P' if needed for Intel syntax. (OP_sI): Update v_mode. Remove w_mode. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/testsuite/ChangeLog.diff?cvsroot=src&r1=1.1724&r2=1.1725 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/testsuite/gas/i386/opcode-intel.d.diff?cvsroot=src&r1=1.9&r2=1.10 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/testsuite/gas/i386/x86-64-opcode.d.diff?cvsroot=src&r1=1.17&r2=1.18 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/testsuite/gas/i386/x86-64-opcode.s.diff?cvsroot=src&r1=1.10&r2=1.11 http://sourceware.org/cgi-bin/cvsweb.cgi/src/opcodes/ChangeLog.diff?cvsroot=src&r1=1.1625&r2=1.1626 http://sourceware.org/cgi-bin/cvsweb.cgi/src/opcodes/i386-dis.c.diff?cvsroot=src&r1=1.250&r2=1.251 --- Additional Comments From hjl dot tools at gmail dot com 2010-08-31 21:57 --- Fixed. -- What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://sourceware.org/bugzilla/show_bug.cgi?id=11960 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils