[lld] 425fb21 - ld64.lld: Make janky support for tbd files actually work sometimes

Nico Weber via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 2 12:31:35 PDT 2020


Author: Nico Weber
Date: 2020-07-02T15:31:21-04:00
New Revision: 425fb21e03b0ec1cac40a415b6417ff5ba04d076

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

LOG: ld64.lld: Make janky support for tbd files actually work sometimes

Also fix a bug in the test input that made the test miss this issue.

Added: 
    

Modified: 
    lld/lib/ReaderWriter/MachO/File.h
    lld/test/MachO/Inputs/MacOSX.sdk/usr/lib/libSystem.tbd
    lld/test/mach-o/Inputs/MacOSX.sdk/usr/lib/libSystem.tbd

Removed: 
    


################################################################################
diff  --git a/lld/lib/ReaderWriter/MachO/File.h b/lld/lib/ReaderWriter/MachO/File.h
index a9a7faff89d2..8d59656beab5 100644
--- a/lld/lib/ReaderWriter/MachO/File.h
+++ b/lld/lib/ReaderWriter/MachO/File.h
@@ -450,7 +450,7 @@ class TAPIFile : public MachODylibFile {
             MemoryBuffer::getMemBuffer("", _mb->getBufferIdentifier()), _ctx));
         reexport.file = _ownedFiles.back().get();
         std::error_code err = _ownedFiles.back()->loadFromInterface(*document);
-        if (!err)
+        if (err)
           return err;
       }
     }

diff  --git a/lld/test/MachO/Inputs/MacOSX.sdk/usr/lib/libSystem.tbd b/lld/test/MachO/Inputs/MacOSX.sdk/usr/lib/libSystem.tbd
index 1a90cff2978b..fddd192630d1 100644
--- a/lld/test/MachO/Inputs/MacOSX.sdk/usr/lib/libSystem.tbd
+++ b/lld/test/MachO/Inputs/MacOSX.sdk/usr/lib/libSystem.tbd
@@ -13,7 +13,7 @@ exports:
 archs:            [ x86_64 ]
 uuids:            [ 'x86_64: 00000000-0000-0000-0000-000000000001' ]
 platform:         macosx
-install-name:     '/usr/lib/libdyld.dylib'
+install-name:     '/usr/lib/system/libdyld.dylib'
 current-version:  0001.001.1
 parent-umbrella:  System
 exports:
@@ -23,7 +23,7 @@ exports:
 archs:            [ x86_64 ]
 uuids:            [ 'x86_64: 00000000-0000-0000-0000-000000000002' ]
 platform:         macosx
-install-name:     '/usr/lib/libsystem_c.dylib'
+install-name:     '/usr/lib/system/libsystem_c.dylib'
 current-version:  0001.001.1
 parent-umbrella:  System
 exports:
@@ -33,7 +33,7 @@ exports:
 archs:            [ x86_64 ]
 uuids:            [ 'x86_64: 00000000-0000-0000-0000-000000000003' ]
 platform:         macosx
-install-name:     '/usr/lib/libsystem_m.dylib'
+install-name:     '/usr/lib/system/libsystem_m.dylib'
 current-version:  0001.001.1
 parent-umbrella:  System
 exports:

diff  --git a/lld/test/mach-o/Inputs/MacOSX.sdk/usr/lib/libSystem.tbd b/lld/test/mach-o/Inputs/MacOSX.sdk/usr/lib/libSystem.tbd
index 1a90cff2978b..fddd192630d1 100644
--- a/lld/test/mach-o/Inputs/MacOSX.sdk/usr/lib/libSystem.tbd
+++ b/lld/test/mach-o/Inputs/MacOSX.sdk/usr/lib/libSystem.tbd
@@ -13,7 +13,7 @@ exports:
 archs:            [ x86_64 ]
 uuids:            [ 'x86_64: 00000000-0000-0000-0000-000000000001' ]
 platform:         macosx
-install-name:     '/usr/lib/libdyld.dylib'
+install-name:     '/usr/lib/system/libdyld.dylib'
 current-version:  0001.001.1
 parent-umbrella:  System
 exports:
@@ -23,7 +23,7 @@ exports:
 archs:            [ x86_64 ]
 uuids:            [ 'x86_64: 00000000-0000-0000-0000-000000000002' ]
 platform:         macosx
-install-name:     '/usr/lib/libsystem_c.dylib'
+install-name:     '/usr/lib/system/libsystem_c.dylib'
 current-version:  0001.001.1
 parent-umbrella:  System
 exports:
@@ -33,7 +33,7 @@ exports:
 archs:            [ x86_64 ]
 uuids:            [ 'x86_64: 00000000-0000-0000-0000-000000000003' ]
 platform:         macosx
-install-name:     '/usr/lib/libsystem_m.dylib'
+install-name:     '/usr/lib/system/libsystem_m.dylib'
 current-version:  0001.001.1
 parent-umbrella:  System
 exports:


        


More information about the llvm-commits mailing list