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;