diff options
author | Jim Grosbach <grosbach@apple.com> | 2011-11-01 18:10:23 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2011-11-01 18:10:23 +0000 |
commit | fadfd7b9776c723357894af00442a35d0a4d0acf (patch) | |
tree | cb98f4a9771c5cc13a1aa730ab9c3501496ac663 /lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp | |
parent | 8f4a17214c75e8ce3f2f88a2e3cd3300faba5fc6 (diff) |
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
Diffstat (limited to 'lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp')
-rw-r--r-- | lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp index 623e9b2acc..f5a68c86c3 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. |