Summary: | [regression] linking with -g results in assembler error | ||
---|---|---|---|
Product: | binutils | Reporter: | Matthias Klose <doko> |
Component: | gas | Assignee: | Alan Modra <amodra> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | bug-binutils, hjl.tools |
Priority: | P2 | ||
Version: | 2.19 | ||
Target Milestone: | --- | ||
Host: | Target: | ||
Build: | Last reconfirmed: | 2008-08-05 08:15:48 | |
Attachments: |
testcase (.s file generated by GCC-4.3.1)
testcase (.s file for ia64, generated by GCC-4.3.1) |
Description
Matthias Klose
2008-06-18 19:40:46 UTC
target? gcc version? Really, for assembler errors, you ought to give us the assembler input, removing the dependency on gcc. Created attachment 2783 [details]
testcase (.s file generated by GCC-4.3.1)
this is on i386-linux-gnu, built with GCC-4.3.1 release.
Created attachment 2784 [details]
testcase (.s file for ia64, generated by GCC-4.3.1)
on ia64-linux-gnu the testcase fails with both 2.18 branch and the trunk.
Actually, I should have recognized the problem just from the description. Asking the assembler to generate dwarf debug info, when the file already has debug info generated by the compiler, is just one of those things you should not do. Of course, the assembler ought to give a better error message.. You see, the compiler emits file and line number info referring to the C (or other language) source file and line numbers, while "as -g" emits file and line number info for the assembly file. Having both sets of debug info doesn't make much sense, since they give contradictory information. Alan is correct. You shouldn't use "gcc -g" on assembly code which already has debug info. Fixing. |