Thread overview
[Issue 4815] New: CodeView: Global and Static symbols should have unmangled names
Sep 05, 2010
Aldo Nunez
Apr 28, 2011
Aldo Nunez
Apr 28, 2011
Walter Bright
September 05, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4815

           Summary: CodeView: Global and Static symbols should have
                    unmangled names
           Product: D
           Version: unspecified
          Platform: Other
        OS/Version: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody@puremagic.com
        ReportedBy: aldonunez1@gmail.com


--- Comment #0 from Aldo Nunez <aldonunez1@gmail.com> 2010-09-05 00:35:07 PDT ---
Global and Static symbols should have their names stored fully qualified but unmangled in the CodeView debug info. In contrast, Public symbols, because they are meant to expose names to other object files, should have their mangled linkage names stored, as they already are.

Right now Global and Static symbol names are stored mangled. This causes problems when debugging. Storing them mangled defeats the ability of a debugger to use the hash table made by the linker in order to look up variables the user wants to evaluate and functions in a callstack. It also seems to offer no meaningful service, because mangled names are more appropriate for linking than debugging.

This affects at least the following kinds of symbol records in the sstGlobalSym and sstStaticSym sections (not sstGlobalPub):

S_LDATA32
S_GDATA32
S_LPROC32
S_GPROC32
S_THUNK32
S_LTHREAD32
S_GTHREAD32
S_UDT (already OK)

The following article gives some explanation of the separation in treating name
mangling. It applies to PDB format, but it's believed that PDB derives from
CodeView, so I think the article applies equally to both.
    http://msdn.microsoft.com/en-us/library/ff553493(VS.85).aspx

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 28, 2011
http://d.puremagic.com/issues/show_bug.cgi?id=4815



--- Comment #1 from Aldo Nunez <aldonunez1@gmail.com> 2011-04-28 01:14:05 PDT ---
Created an attachment (id=953)
Set and check prettyIdent.

We can fix this by setting and checking symbol::prettyIdent in the right places.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 28, 2011
http://d.puremagic.com/issues/show_bug.cgi?id=4815


Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |bugzilla@digitalmars.com
         Resolution|                            |FIXED


--- Comment #2 from Walter Bright <bugzilla@digitalmars.com> 2011-04-28 12:17:43 PDT ---
https://github.com/D-Programming-Language/dmd/commit/f79656ddf56675ba81007c93a05d67a8722cb6bb

https://github.com/D-Programming-Language/dmd/commit/d7c39c3d9101b72f6c0580af412a149e2c885d41

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