From: Jim Grosbach Date: Tue, 1 Nov 2011 18:10:23 +0000 (+0000) Subject: Ignore MachO symbol flags in the upper nibble of n_desc. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=fadfd7b9776c723357894af00442a35d0a4d0acf;p=oota-llvm.git Ignore MachO symbol flags in the upper nibble of n_desc. They don't impact the MCJIT rtdyld, so just mask them off for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143472 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp index 623e9b2acca..f5a68c86c3c 100644 --- a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp +++ b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp @@ -176,7 +176,8 @@ loadSegment32(const MachOObject *Obj, continue; // Flags == 0x8 marks a thumb function for ARM, which is fine as it // doesn't require any special handling here. - if (STE->Flags != 0x0 && STE->Flags != 0x8) + // Flags in the upper nibble we don't care about. + if ((STE->Flags & 0xf) != 0x0 && STE->Flags != 0x8) continue; // Remember the symbol. @@ -313,7 +314,8 @@ loadSegment64(const MachOObject *Obj, // FIXME: Check the symbol type and flags. if (STE->Type != 0xF) // external, defined in this section. continue; - if (STE->Flags != 0x0) + // Flags in the upper nibble we don't care about. + if ((STE->Flags & 0xf) != 0x0) continue; // Remember the symbol.