From 495e073b20e05078a04f548f51564688c5303f18 Mon Sep 17 00:00:00 2001 From: Philippe Houdoin Date: Mon, 15 Nov 2010 17:44:18 +0000 Subject: [PATCH] Don't skip subprogram DIEs with prototyped attribute, which make loading functions from plain C program actually works. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39436 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp b/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp index aaa94edda7..36cc05d6cc 100644 --- a/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp +++ b/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp @@ -278,9 +278,8 @@ DwarfImageDebugInfo::GetFunctions(BObjectList& functions) DIESubprogram* subprogramEntry = static_cast(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 @@ DwarfImageDebugInfo::GetType(GlobalTypeCache* cache, 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 @@ DwarfImageDebugInfo::CreateFrame(Image* image, 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;