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
This commit is contained in:
parent
e7b9974180
commit
495e073b20
@ -278,9 +278,8 @@ DwarfImageDebugInfo::GetFunctions(BObjectList<FunctionDebugInfo>& functions)
|
|||||||
|
|
||||||
DIESubprogram* subprogramEntry = static_cast<DIESubprogram*>(entry);
|
DIESubprogram* subprogramEntry = static_cast<DIESubprogram*>(entry);
|
||||||
|
|
||||||
// ignore declarations, prototypes, and inlined functions
|
// ignore declarations and inlined functions
|
||||||
if (subprogramEntry->IsDeclaration()
|
if (subprogramEntry->IsDeclaration()
|
||||||
|| subprogramEntry->IsPrototyped()
|
|
||||||
|| subprogramEntry->Inline() == DW_INL_inlined
|
|| subprogramEntry->Inline() == DW_INL_inlined
|
||||||
|| subprogramEntry->Inline() == DW_INL_declared_inlined) {
|
|| subprogramEntry->Inline() == DW_INL_declared_inlined) {
|
||||||
continue;
|
continue;
|
||||||
@ -402,7 +401,7 @@ DwarfImageDebugInfo::GetType(GlobalTypeCache* cache,
|
|||||||
if (typeContext == NULL) {
|
if (typeContext == NULL) {
|
||||||
typeContext = new(std::nothrow)
|
typeContext = new(std::nothrow)
|
||||||
DwarfTypeContext(fArchitecture, fImageInfo.ImageID(), fFile,
|
DwarfTypeContext(fArchitecture, fImageInfo.ImageID(), fFile,
|
||||||
unit, NULL, 0, 0, fRelocationDelta, &inputInterface,
|
unit, NULL, 0, 0, fRelocationDelta, &inputInterface,
|
||||||
fromDwarfMap);
|
fromDwarfMap);
|
||||||
if (typeContext == NULL)
|
if (typeContext == NULL)
|
||||||
return B_NO_MEMORY;
|
return B_NO_MEMORY;
|
||||||
@ -505,7 +504,7 @@ DwarfImageDebugInfo::CreateFrame(Image* image,
|
|||||||
DwarfStackFrameDebugInfo* stackFrameDebugInfo
|
DwarfStackFrameDebugInfo* stackFrameDebugInfo
|
||||||
= new(std::nothrow) DwarfStackFrameDebugInfo(fArchitecture,
|
= new(std::nothrow) DwarfStackFrameDebugInfo(fArchitecture,
|
||||||
fImageInfo.ImageID(), fFile, unit, subprogramEntry, fTypeLookup,
|
fImageInfo.ImageID(), fFile, unit, subprogramEntry, fTypeLookup,
|
||||||
fTypeCache, instructionPointer, framePointer, fRelocationDelta,
|
fTypeCache, instructionPointer, framePointer, fRelocationDelta,
|
||||||
inputInterface, fromDwarfMap);
|
inputInterface, fromDwarfMap);
|
||||||
if (stackFrameDebugInfo == NULL)
|
if (stackFrameDebugInfo == NULL)
|
||||||
return B_NO_MEMORY;
|
return B_NO_MEMORY;
|
||||||
|
Loading…
Reference in New Issue
Block a user