http://sourceware.org/bugzilla/show_bug.cgi?id=13295
Bug #: 13295
Summary: Segfault and/or incorrect output in objdump when
disassembling an ARM library
Product: binutils
Version: 2.21
Status: NEW
Severity: normal
Priority: P2
Component: binutils
AssignedTo: [email protected]
ReportedBy: [email protected]
Classification: Unclassified
Created attachment 5988
--> http://sourceware.org/bugzilla/attachment.cgi?id=5988
The gcc support lbrary for arm-elf target
When disassembling a static library (libgcc.a, in this case) objdump 2.21.1
sometimes misses the THUMB/ARM mode switches i.e. disassembles ARM code for
THUMB or the other way around. Using -t --special-syms shows the mode switch
symbols at the correct places, yet the disassembly still misses them sometimes.
Objdump also crashes on the file, gdb shows this:
---------------------------------
(gdb) run -d /usr/local/lib/gcc/arm-elf/4.5.3/libgcc.a
[lots os disassembled lines deleted]
_lshrdi3.o: file format elf32-littlearm
Disassembly of section .text:
00000000 <__aeabi_llsr>:
Program received signal SIGSEGV, Segmentation fault.
0x0807b436 in get_map_sym_type (pc=0, info=<value optimized out>, little=1)
at ../../binutils-2.21.1/opcodes/arm-dis.c:4503
4503 if (info->section != NULL && info->section !=
info->symtab[n]->section)
(gdb) backtrace
#0 0x0807b436 in get_map_sym_type (pc=0, info=<value optimized out>, little=1)
at ../../binutils-2.21.1/opcodes/arm-dis.c:4503
#1 print_insn (pc=0, info=<value optimized out>, little=1)
at ../../binutils-2.21.1/opcodes/arm-dis.c:4684
#2 0x0804cc44 in disassemble_bytes (abfd=0x811ffe8, section=0x8128f9c,
inf=0xbffff02c) at ../../binutils-2.21.1/binutils/objdump.c:1622
#3 disassemble_section (abfd=0x811ffe8, section=0x8128f9c, inf=0xbffff02c)
at ../../binutils-2.21.1/binutils/objdump.c:2051
#4 0x0808764c in bfd_map_over_sections (abfd=0x811ffe8,
operation=0x804c630 <disassemble_section>, user_storage=0xbffff02c)
at ../../binutils-2.21.1/bfd/section.c:1274
#5 0x0804e3cc in disassemble_data (abfd=0x811ffe8)
at ../../binutils-2.21.1/binutils/objdump.c:2186
#6 dump_bfd (abfd=0x811ffe8) at ../../binutils-2.21.1/binutils/objdump.c:3087
#7 0x0804e8d7 in display_bfd (abfd=0x811ffe8)
at ../../binutils-2.21.1/binutils/objdump.c:3163
#8 0x0804e9eb in display_file (filename=<value optimized out>,
target=<value optimized out>)
at ../../binutils-2.21.1/binutils/objdump.c:3217
#9 0x0804f55e in main (argc=3, argv=0xbffff254)
at ../../binutils-2.21.1/binutils/objdump.c:3490
(gdb)
------------------------------
The configuration is --target=arm-elf or --target-eabi, the result is the same.
The host is x86-linux, the host compiler is gcc-4.5.1 with binutils 2.21.
Attached is the (ELF) libgcc.a which makes it crash.
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-binutils