[Bug binutils/11960] New: objdump gets the wrong length for pushw immediate in 64 bit mode

2010-08-31 Thread alex at cloudswitch dot com
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

2010-08-31 Thread rixed at free dot fr


-- 
   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

2010-08-31 Thread hjl dot tools at gmail dot com

--- 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