[lld] da08d50 - [lld][macho] Add more skip platform check for libSystem re-exports

Jez Ng via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 4 13:35:07 PST 2022


Author: Byoungchan Lee
Date: 2022-02-04T16:34:56-05:00
New Revision: da08d50fd67e3c0c2d3922b3a994bd6630df0160

URL: https://github.com/llvm/llvm-project/commit/da08d50fd67e3c0c2d3922b3a994bd6630df0160
DIFF: https://github.com/llvm/llvm-project/commit/da08d50fd67e3c0c2d3922b3a994bd6630df0160.diff

LOG: [lld][macho] Add more skip platform check for libSystem re-exports

Xcode 13 comes with a mismatched platform in libcompiler_rt.dylib,
so this creates a linker error on mac catalyst.
Fix it by adding it to the skip list.

Reviewed By: MaskRay, #lld-macho, int3

Differential Revision: https://reviews.llvm.org/D117925

Added: 
    

Modified: 
    lld/MachO/InputFiles.cpp

Removed: 
    


################################################################################
diff  --git a/lld/MachO/InputFiles.cpp b/lld/MachO/InputFiles.cpp
index f82aa81b12efa..13317ca956e78 100644
--- a/lld/MachO/InputFiles.cpp
+++ b/lld/MachO/InputFiles.cpp
@@ -1259,10 +1259,11 @@ void DylibFile::parseLoadCommands(MemoryBufferRef mb) {
 
 // Some versions of XCode ship with .tbd files that don't have the right
 // platform settings.
-static constexpr std::array<StringRef, 3> skipPlatformChecks{
+constexpr std::array<StringRef, 4> skipPlatformChecks{
     "/usr/lib/system/libsystem_kernel.dylib",
     "/usr/lib/system/libsystem_platform.dylib",
-    "/usr/lib/system/libsystem_pthread.dylib"};
+    "/usr/lib/system/libsystem_pthread.dylib",
+    "/usr/lib/system/libcompiler_rt.dylib"};
 
 DylibFile::DylibFile(const InterfaceFile &interface, DylibFile *umbrella,
                      bool isBundleLoader)


        


More information about the llvm-commits mailing list