Index: lib/ReaderWriter/MachO/GOTPass.cpp =================================================================== --- lib/ReaderWriter/MachO/GOTPass.cpp +++ lib/ReaderWriter/MachO/GOTPass.cpp @@ -125,7 +125,7 @@ bool shouldReplaceTargetWithGOTAtom(const Atom *target, bool canBypassGOT) { // Accesses to shared library symbols must go through GOT. - if (target->definition() == Atom::definitionSharedLibrary) + if (isa(target)) return true; // Accesses to interposable symbols in same linkage unit must also go // through GOT. Index: lib/ReaderWriter/MachO/StubsPass.cpp =================================================================== --- lib/ReaderWriter/MachO/StubsPass.cpp +++ lib/ReaderWriter/MachO/StubsPass.cpp @@ -230,7 +230,7 @@ continue; const Atom *target = ref->target(); assert(target != nullptr); - if (target->definition() == Atom::definitionSharedLibrary) { + if (isa(target)) { // Calls to shared libraries go through stubs. replaceCalleeWithStub(target, ref); continue;