diff --git a/llvm/lib/Object/MachOObjectFile.cpp b/llvm/lib/Object/MachOObjectFile.cpp --- a/llvm/lib/Object/MachOObjectFile.cpp +++ b/llvm/lib/Object/MachOObjectFile.cpp @@ -1876,9 +1876,13 @@ Result |= SymbolRef::SF_Undefined; } - if (!(MachOType & MachO::N_PEXT)) + if (MachOType & MachO::N_PEXT) + Result |= SymbolRef::SF_Hidden; + else Result |= SymbolRef::SF_Exported; - } + + } else if (MachOType & MachO::N_PEXT) + Result |= SymbolRef::SF_Hidden; if (MachOFlags & (MachO::N_WEAK_REF | MachO::N_WEAK_DEF)) Result |= SymbolRef::SF_Weak;