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: unassig...@sourceware.org ReportedBy: zol...@bendor.com.au 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 bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils