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 623e9b2..f5a68c8 100644
--- a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
+++ b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
@@ -176,7 +176,8 @@
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 @@
// 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.