[Issue 4014] CodeView debug type info not linked in from library

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


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



--- Comment #1 from Rainer Schuetze <r.sagitario at gmx.de> 2010-03-27 01:38:36 PDT ---
This is caused the implicite "-multiobj" flag being set when compiling into a
library. The debug type info is then in the module that contains the
init-struct for the class/struct. If never referenced (e.g. if initialization
is inlined), it will not show up in the executable.

A workaround is to not use -multiobj for libraries if they are compiled with
debug info, but this can add some link dependencies.

Index: mars.c
===================================================================
--- mars.c    (revision 419)
+++ mars.c    (working copy)
@@ -806,7 +806,9 @@
     global.params.objname = NULL;

     // Haven't investigated handling these options with multiobj
-    if (!global.params.cov && !global.params.trace)
+    // multiobj causes class/struct debug info to be attached to init-data,
+    //  but this will not be linked into the executable, so this info is lost
+    if (!global.params.cov && !global.params.trace && !global.params.symdebug)
         global.params.multiobj = 1;
     }
     else if (global.params.run)

-- 
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