[LLVMbugs] [Bug 7973] New: objdump: "BFD: Dwarf Error: mangled line number section (bad file number)."

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Aug 23 08:47:39 PDT 2010


http://llvm.org/bugs/show_bug.cgi?id=7973

           Summary: objdump: "BFD: Dwarf Error: mangled line number
                    section (bad file number)."
           Product: new-bugs
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: jrengdahl at ra.rockwell.com
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=5403)
 --> (http://llvm.org/bugs/attachment.cgi?id=5403)
minimal test case, sources and Makefile

I'm not sure I'm using LLVM correctly, but I'm getting code that looks
reasonable. My Makefile does the following:
-- use GCC 4.2 with --emit-llvm to create .bc file for each C++ source module
-- use llc to translate the .bc to a ARM Cortex-A9 Thumb2 assembly .s file
-- use arm-none-eabi-gcc to assemble .s to .o
-- use arm-none-eabi-gcc to link .o to axf

I have tried using the LLVM 2.7 gcc-4.2 front-end and later built my own
gcc-4.2 front-end from SVN revision 111549. I built LLVM from SVN revision
111549. I originally used the CodeSourcery Lite arm-none-eabi-2010q1-188
toolchain (which provides gcc 4.4.1 and binutils 2.19) for the assembler,
linker, and objdump. I later used crosstool-ng to build a gcc-4.4.2 with
binutils 2.20.1 toolchain to provide the asm, linker, and objdump. Regardless
of the toolchain versions, I always get the same error.

One of the last steps of my build is to use "objdump -dS" to disassemble the
.axf file, with inline source. This step results in many error messages, all
the same:

arm-none-eabi-objdump -dS main.axf > main.disasm
BFD: Dwarf Error: mangled line number section (bad file number).
BFD: Dwarf Error: mangled line number section (bad file number).
...

The disassembly does not contain source for any C++ modules. Also the debugger
(Lauterbach TRACE32) cannot find the source.

I have attached a minimal test case that demonstrates the problem. I tried
several ways to minimize the test case further, but this seems to be the
simplest I can make it and still cause the error message. Unpack the tarball,
edit the Makefile to point to the toolchain location, and type "make".

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list