bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug binutils/7004] New: binutils-2.18's objdump seems to segfault for a


From: vrilehen at googlemail dot com
Subject: [Bug binutils/7004] New: binutils-2.18's objdump seems to segfault for all "-m arm -b binary -D" input.
Date: 5 Nov 2008 06:35:27 -0000

binutils-2.18's objdump seems to segfault for all 
"-m arm -b binary -D" input.

Trivial example.
objdump-2.16.1 -m arm -b binary a.out -D
| a.out:     file format binary
| 
| Disassembly of section .data:
| 
| 0000000000000000 <.data>:
| 0:   ea000000        b       0x8
| 4:   e1a00000        nop                     (mov r0,r0)
| 8:   e3a00001        mov     r0, #1  ; 0x1
| c:   e0800002        add     r0, r0, r2

objdump-2.18 -m arm -b binary a.out -D
<segfault>


(gdb) Program received signal SIGSEGV, Segmentation fault.
0x00007f79a3cb2ebe in print_insn (pc=0, info=0x7fffac900860, little=1)
    at 
/var/tmp/portage/sys-devel/binutils-2.18-r3/work/binutils-2.18/opcodes/arm-
dis.c:3991
3991    
/var/tmp/portage/sys-devel/binutils-2.18-r3/work/binutils-2.18/opcodes/arm-
dis.c: 
No such file or directory.
        in 
/var/tmp/portage/sys-devel/binutils-2.18-r3/work/binutils-2.18/opcodes/arm-dis.c
(gdb) bt
#0  0x00007f79a3cb2ebe in print_insn (pc=0, info=0x7fffac900860, 
little=1)
    at 
/var/tmp/portage/sys-devel/binutils-2.18-r3/work/binutils-2.18/opcodes/arm-
dis.c:3991
#1  0x0000000000408365 in disassemble_section (abfd=0x6479a0, 
section=0x649310, info=<value optimized out>)
    at 
/var/tmp/portage/sys-devel/binutils-2.18-r3/work/binutils-2.18/binutils/
objdump.c:1472
#2  0x00007f79a3308dce in bfd_map_over_sections (abfd=0x6479a0, 
operation=0x4079a0 <disassemble_section>, user_storage=0x7fffac900860)
    at 
/var/tmp/portage/sys-devel/binutils-2.18-r3/work/binutils-2.18/bfd/
section.c:1226
#3  0x0000000000405f46 in disassemble_data (abfd=0x6479a0) at 
/var/tmp/portage/sys-devel/binutils-2.18-r3/work/binutils-2.18/binutils/
objdump.c:2014
#4  0x0000000000406768 in dump_bfd (abfd=0x6479a0) at 
/var/tmp/portage/sys-devel/binutils-2.18-r3/work/binutils-2.18/binutils/
objdump.c:2896
#5  0x0000000000406ba8 in display_bfd (abfd=0x6479a0) at 
/var/tmp/portage/sys-devel/binutils-2.18-r3/work/binutils-2.18/binutils/
objdump.c:2966
#6  0x0000000000406d58 in display_file (filename=0x7fffac900ec5 "a.out", 
target=0x7fffac900eb7 "binary")
    at 
/var/tmp/portage/sys-devel/binutils-2.18-r3/work/binutils-2.18/binutils/
objdump.c:3027
#7  0x000000000040739d in main (argc=7, argv=0x7fffac900b48)
    at 
/var/tmp/portage/sys-devel/binutils-2.18-r3/work/binutils-2.18/binutils/
objdump.c:3266
(gdb) print info
$1 = (struct disassemble_info *) 0x7fffac900860
(gdb) print *info
$2 = {fprintf_func = 0x4092a0 <objdump_sprintf>, stream = 
0x7fffac9007b0, application_data = 0x7fffac900950, flavour = 
bfd_target_unknown_flavour, 
  arch = bfd_arch_arm, mach = 0, endian = BFD_ENDIAN_UNKNOWN, insn_sets 
= 0x0, section = 0x649310, symbols = 0x0, num_symbols = 0, 
  symtab = 0x649d40, symtab_pos = -1, symtab_size = 0, flags = 0, 
private_data = 0x0, read_memory_func = 0x7f79a3ca83f0 
<buffer_read_memory>, 
  memory_error_func = 0x7f79a3ca8340 <perror_memory>, print_address_func 
= 0x405160 <objdump_print_address>, 
  symbol_at_address_func = 0x4043e0 <objdump_symbol_at_address>, 
symbol_is_valid = 0x7f79a3cae940 <arm_symbol_is_valid>, buffer = 
0x649d60 "", 
  buffer_vma = 0, buffer_length = 16, bytes_per_line = 0, 
bytes_per_chunk = 0, display_endian = BFD_ENDIAN_UNKNOWN, 
octets_per_byte = 1, 
  skip_zeroes = 8, skip_zeroes_at_end = 3, disassembler_needs_relocs = 
1, insn_info_valid = 0 '\0', branch_delay_insns = 0 '\0', data_size = 0 
'\0', 
  insn_type = dis_noninsn, target = 0, target2 = 0, disassembler_options 
= 0x0}
(gdb) disassemble 0x00007f79a3cb2eb0 0x00007f79a3cb2ec0
Dump of assembler code from 0x7f79a3cb2eb0 to 0x7f79a3cb2ec0:
0x00007f79a3cb2eb0 <print_insn+160>:    add    %cl,-0x75(%rcx)
0x00007f79a3cb2eb3 <print_insn+163>:    rex.WR and    $0x50,%al
0x00007f79a3cb2eb6 <print_insn+166>:    test   %rcx,%rcx
0x00007f79a3cb2eb9 <print_insn+169>:    je     0x7f79a3cb2ecf 
<print_insn+191>
0x00007f79a3cb2ebb <print_insn+171>:    mov    (%rcx),%rax
0x00007f79a3cb2ebe <print_insn+174>:    mov    (%rax),%rax
End of assembler dump.
(gdb) info registers 
rax            0x0      0
rbx            0x0      0
rcx            0x649d40 6593856
rdx            0x1      1
rsi            0x7fffac900860   140736088508512
rdi            0x0      0
rbp            0x3      0x3
rsp            0x7fffac900580   0x7fffac900580
r8             0x1      1
r9             0x1      1
r10            0x7f79a48c66f0   140160428435184
r11            0x0      0
r12            0x7fffac900860   140736088508512
r13            0x7fffac900860   140736088508512
r14            0x4079a0 4225440
r15            0x0      0
rip            0x7f79a3cb2ebe   0x7f79a3cb2ebe <print_insn+174>
eflags         0x10202  [ IF RF ]
cs             0x33     51
ss             0x2b     43
ds             0x0      0
es             0x0      0
fs             0x0      0
gs             0x0      0
fctrl          0x37f    895
fstat          0x0      0
ftag           0xffff   65535
fiseg          0x0      0
fioff          0x0      0
foseg          0x0      0
fooff          0x0      0
fop            0x0      0
mxcsr          0x1f80   [ IM DM ZM OM UM PM ]

-- 
           Summary: binutils-2.18's objdump seems to segfault for all  "-m
                    arm -b binary -D" input.
           Product: binutils
           Version: 2.18
            Status: NEW
          Severity: normal
          Priority: P2
         Component: binutils
        AssignedTo: unassigned at sources dot redhat dot com
        ReportedBy: vrilehen at googlemail dot com
                CC: bug-binutils at gnu dot org
  GCC host triplet: x86_64-linux-gnu
GCC target triplet: arm-linux-gnu


http://sourceware.org/bugzilla/show_bug.cgi?id=7004

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]