Quuxplusone / LLVMBugzillaTest

0 stars 0 forks source link

BFD: Dwarf Error: Could not find abbrev number #5718

Open Quuxplusone opened 14 years ago

Quuxplusone commented 14 years ago
Bugzilla Link PR8003
Status NEW
Importance P normal
Reported by Guoliang Jin (jingl1345@gmail.com)
Reported on 2010-08-26 16:52:51 -0700
Last modified on 2011-10-19 01:32:44 -0700
Version trunk
Hardware PC Linux
CC dpatel@apple.com, llvm-bugs@lists.llvm.org, nlewycky@google.com
Fixed by commit(s)
Attachments bugreport.tar.gz (497169 bytes, application/gzip)
bugBinary.tar.gz (670557 bytes, application/gzip)
Blocks
Blocked by
See also
With the patch for Bug 7689, I can build the binary with debug information with
gold right now. But when I do objdump on that binary, I get a lot of "BFD:
Dwarf Error: Could not find abbrev number".

I compiled flex-2.5.35 using:

../configure --prefix=/local/install CFLAGS="-O4 -g" CC="llvm-gcc -use-gold-
plugin -Wl,-plugin-opt=also-emit-llvm" CXX="llvm-g++ -use-gold-plugin -Wl,-
plugin-opt=also-emit-llvm" RANLIB="/bin/true"

make

I am also attaching the final binary, the whole program bytecode, and those per
file bytecode which can be linked to get the final binary by:

llvm-gcc -use-gold-plugin -Wl,-plugin-opt=also-emit-llvm  -O4 -g   -o flex
ccl.o dfa.o ecs.o scanflags.o gen.o main.o misc.o nfa.o parse.o scan.o skel.o
sym.o tblcmp.o yylex.o options.o scanopt.o buf.o tables.o tables_shared.o
filter.o regex.o  -lm

After getting the flex,
objdump -l -S flex > flex.S
will show a lot of "BFD: Dwarf Error: Could not find abbrev number"
Quuxplusone commented 14 years ago

Attached bugreport.tar.gz (497169 bytes, application/gzip): those per file bytecode which can be linked to get the final binary

Quuxplusone commented 14 years ago

Attached bugBinary.tar.gz (670557 bytes, application/gzip): the final binary, the whole program bytecode

Quuxplusone commented 14 years ago
I tried the operation:
objdump --dwarf flex > flex.dwarf

and got:
objdump: Warning: Bogus end-of-siblings marker detected at offset a7a in
.debug_info section
objdump: Warning: Bogus end-of-siblings marker detected at offset a7b in
.debug_info section
objdump: Warning: Bogus end-of-siblings marker detected at offset a7c in
.debug_info section
objdump: Warning: Further warnings about bogus end-of-sibling markers suppressed
objdump: Error: Location lists in .debug_info section aren't in ascending order!
objdump: Warning: Location lists in .debug_loc section start at 0x73f
objdump: Warning: There is an overlap [0x75d - 0xf2] in .debug_loc section.
objdump: Warning: There is a hole [0x3a0 - 0x721] in .debug_loc section.
objdump: Warning: There is a hole [0x73f - 0x75d] in .debug_loc section.
objdump: Warning: There is an overlap [0x799 - 0x3a0] in .debug_loc section.
objdump: Warning: There is an overlap [0x490 - 0x0] in .debug_loc section.
objdump: Warning: There is a hole [0xf2 - 0x490] in .debug_loc section.
objdump: Warning: There is a hole [0x544 - 0x6c6] in .debug_loc section.
objdump: Warning: There is an overlap [0x721 - 0x544] in .debug_loc section.
objdump: Warning: There is a hole [0x562 - 0x66c] in .debug_loc section.
objdump: Warning: There is an overlap [0x6a8 - 0x617] in .debug_loc section.
objdump: Warning: There is an overlap [0x66c - 0x5b7] in .debug_loc section.
objdump: Warning: There is an overlap [0x617 - 0x562] in .debug_loc section.
objdump: Warning: There is a hole [0x5b7 - 0x6a8] in .debug_loc section.
objdump: Warning: There are 211 unused bytes at the end of section .debug_loc