[haiku-commits] r39436 - haiku/trunk/src/apps/debugger/debug_info

  • From: philippe.houdoin@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 15 Nov 2010 18:44:19 +0100 (CET)

Author: phoudoin
Date: 2010-11-15 18:44:18 +0100 (Mon, 15 Nov 2010)
New Revision: 39436
Changeset: http://dev.haiku-os.org/changeset/39436

Modified:
   haiku/trunk/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp
Log:
Don't skip subprogram DIEs with prototyped attribute, which make loading 
functions from
plain C program actually works.


Modified: haiku/trunk/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp
===================================================================
--- haiku/trunk/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp    
2010-11-15 12:37:52 UTC (rev 39435)
+++ haiku/trunk/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp    
2010-11-15 17:44:18 UTC (rev 39436)
@@ -278,9 +278,8 @@
 
                        DIESubprogram* subprogramEntry = 
static_cast<DIESubprogram*>(entry);
 
-                       // ignore declarations, prototypes, and inlined 
functions
+                       // ignore declarations and inlined functions
                        if (subprogramEntry->IsDeclaration()
-                               || subprogramEntry->IsPrototyped()
                                || subprogramEntry->Inline() == DW_INL_inlined
                                || subprogramEntry->Inline() == 
DW_INL_declared_inlined) {
                                continue;
@@ -402,7 +401,7 @@
                        if (typeContext == NULL) {
                                typeContext = new(std::nothrow)
                                        DwarfTypeContext(fArchitecture, 
fImageInfo.ImageID(), fFile,
-                                       unit, NULL, 0, 0, fRelocationDelta, 
&inputInterface, 
+                                       unit, NULL, 0, 0, fRelocationDelta, 
&inputInterface,
                                        fromDwarfMap);
                                if (typeContext == NULL)
                                        return B_NO_MEMORY;
@@ -505,7 +504,7 @@
        DwarfStackFrameDebugInfo* stackFrameDebugInfo
                = new(std::nothrow) DwarfStackFrameDebugInfo(fArchitecture,
                        fImageInfo.ImageID(), fFile, unit, subprogramEntry, 
fTypeLookup,
-                       fTypeCache, instructionPointer, framePointer, 
fRelocationDelta, 
+                       fTypeCache, instructionPointer, framePointer, 
fRelocationDelta,
                        inputInterface, fromDwarfMap);
        if (stackFrameDebugInfo == NULL)
                return B_NO_MEMORY;


Other related posts:

  • » [haiku-commits] r39436 - haiku/trunk/src/apps/debugger/debug_info - philippe . houdoin