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 | 107c14391fd4f633223f5341ba8aa352bc18711a (patch) | |
tree | df2cd313e0f7233072fede6372a5137d2d3617c3 /llvm/lib/ExecutionEngine | |
parent | 3e59facf653081235d7ac0d0194418e442341306 (diff) | |
download | bcm5719-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')
-rw-r--r-- | llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp | 6 |
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. |