D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 4148 - debug symbols names include .d from filename
Summary: debug symbols names include .d from filename
Status: RESOLVED INVALID
Alias: None
Product: D
Classification: Unclassified
Component: dmd (show other issues)
Version: D2
Hardware: Other Linux
: P2 normal
Assignee: No Owner
URL:
Keywords:
Depends on:
Blocks: 4044
  Show dependency treegraph
 
Reported: 2010-05-02 12:58 UTC by Brad Roberts
Modified: 2015-06-09 05:14 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Brad Roberts 2010-05-02 12:58:16 UTC
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 Rainer Schuetze 2010-05-02 23:42:19 UTC
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 Brad Roberts 2010-05-02 23:48:11 UTC
Good god, did I actually do that?  I did, TWICE.  Um.. nevermind, closing as an invalid bug report.