summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2011-11-01 18:10:23 +0000
committerJim Grosbach <grosbach@apple.com>2011-11-01 18:10:23 +0000
commit107c14391fd4f633223f5341ba8aa352bc18711a (patch)
treedf2cd313e0f7233072fede6372a5137d2d3617c3 /llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
parent3e59facf653081235d7ac0d0194418e442341306 (diff)
downloadbcm5719-llvm-107c14391fd4f633223f5341ba8aa352bc18711a.tar.gz
bcm5719-llvm-107c14391fd4f633223f5341ba8aa352bc18711a.zip
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. llvm-svn: 143472
Diffstat (limited to 'llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp')
-rw-r--r--llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
index 623e9b2acca..f5a68c86c3c 100644
--- a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
+++ b/llvm/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.
OpenPOWER on IntegriCloud