[Issue 21155] New: DWARF: symbols within a module are not children of DW_TAG_module

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Aug 13 14:59:42 UTC 2020


https://issues.dlang.org/show_bug.cgi?id=21155

          Issue ID: 21155
           Summary: DWARF: symbols within a module are not children of
                    DW_TAG_module
           Product: D
           Version: D2
          Hardware: All
                OS: Linux
            Status: NEW
          Severity: trivial
          Priority: P1
         Component: dmd
          Assignee: nobody at puremagic.com
          Reporter: lucien.perregaux at gmail.com

Actually, DMD emits the module's tag, but it has no childrens and no references
to it.

Also, the attribute DW_AT_name of the childrens shouldn't contain the module
name as a prefix

program:
---
module bar;

void main()
{
    bar();
}

void bar()
{

}
---

Emitted by DMD:
---
0x00000076:   DW_TAG_module
                DW_AT_name      ("bar")

0x000000a2:   DW_TAG_subprogram
                DW_AT_name      ("bar.bar")
                DW_AT_MIPS_linkage_name ("_D3barQeFZv")
                DW_AT_decl_file ("src/main.d")
                DW_AT_decl_line (9)
                DW_AT_external  (0x01)
                DW_AT_low_pc    (0x000000000003f6ac)
                DW_AT_high_pc   (0x000000000003f6b2)
                DW_AT_frame_base        (0x0000004c: 
                   [0x000000000003f6ac, 0x000000000003f6ad): DW_OP_breg7 RSP+8
                   [0x000000000003f6ad, 0x000000000003f6af): DW_OP_breg7 RSP+16
                   [0x000000000003f6af, 0x000000000003f6b2): DW_OP_breg6
RBP+16)
---

--


More information about the Digitalmars-d-bugs mailing list