Bug 4148 – debug symbols names include .d from filename

Status
RESOLVED
Resolution
INVALID
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
Other
OS
Linux
Creation time
2010-05-02T12:58:00Z
Last change time
2015-06-09T05:14:45Z
Assigned to
nobody
Creator
braddr
Blocks
4044

Comments

Comment #0 by braddr — 2010-05-02T12:58:16Z
sample code: module test.d; void foo() { } void main() { foo(); } $ dmd -v -g -c debug-names.d (or -gc instead of -g, same results) $ objdump --syms debug-names.o debug-names.o: file format elf32-i386 SYMBOL TABLE: (output edited to hide parts not relevant) 00000000 l df *ABS* 00000000 debug-names.d 00000000 l d .text._D4test1d3fooFZv 00000000 .text._D4test1d3fooFZv 00000000 g F .text._D4test1d3fooFZv 00000005 _D4test1d3fooFZv secondary evidence (gdb from cvs with the recent patches to support d): (gdb) list test.d.foo 1 module test.d; 2 3 void foo() 4 { 5 } 6 7 void main() 8 { 9 foo(); 10 } (gdb) list test.foo Can't find member of namespace, class, struct, or union named "test.foo" Hint: try 'test.foo<TAB> or 'test.foo<ESC-?> (Note leading single quote.)
Comment #1 by r.sagitario — 2010-05-02T23:42:19Z
You should not add the file extension to the module statement. I can't test it with gdb, but I guess "module test;" will work as expected.
Comment #2 by braddr — 2010-05-02T23:48:11Z
Good god, did I actually do that? I did, TWICE. Um.. nevermind, closing as an invalid bug report.