[Issue 3987] [gdb] Invalid DWARF output for function pointers

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sat Mar 27 12:01:42 PDT 2010


http://d.puremagic.com/issues/show_bug.cgi?id=3987



--- Comment #1 from Robert Clipsham <robert at octarineparrot.com> 2010-03-27 12:01:39 PDT ---
Compile with:
$ dmd -c -gc test.d
$ gcc test.o -o test -m32
(Note: I had a dmd.conf in the same directory to make sure druntime/phobos
weren't included, I don't know if this is needed)
----
void function() foobar;
extern(C)void _Dmodule_ref(){}
extern(C)int main(int argc, char** argv)
{
        return 0;
}
//void foo(){}
//void main(){}
----
Uncommenting either of the 2 functions at the bottom will trigger the bug, but
without them it does not happen. I have attached 3 files, which are the outputs
of the following 3 commands:
$ objdump --dwarf test > dwarf2
$ objdump --dwarf test > dwarf # With void main(){}
$ diff -u dwarf2 dwarf
Hopefully this should help figure out what's happening. Without reading into
the DWARF spec I cannot figure out what's wrong, but there's not a huge amount
of difference between them, so it shouldn't take too much effort for someone
who knows the spec to figure out what's wrong. The above was tested with dmd
2.042.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list