[lld] 0c57f89 - [lld-macho]Added missing commit from PR/135241 (#137672)

via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 28 10:24:08 PDT 2025


Author: Vy Nguyen
Date: 2025-04-28T13:24:05-04:00
New Revision: 0c57f89752ee36eea306347d42f5f75a6f2fa335

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

LOG: [lld-macho]Added missing commit from PR/135241 (#137672)

Added: 
    

Modified: 
    lld/test/MachO/reexport-with-rpath.s

Removed: 
    


################################################################################
diff  --git a/lld/test/MachO/reexport-with-rpath.s b/lld/test/MachO/reexport-with-rpath.s
index 431962a9c2d8a..2672449d3cdbd 100644
--- a/lld/test/MachO/reexport-with-rpath.s
+++ b/lld/test/MachO/reexport-with-rpath.s
@@ -1,4 +1,12 @@
 # REQUIRES: x86
+## This tests that lld handles (re)exported libraries with rpath properly .
+## The tests are as follows:
+## - libAee re-exports libBee while defining the install-path with @rpath variable
+##   - libBee re-exports libCee while defining the install-path with @rpath variable
+##     - libCee contains _c_func symbol.
+##
+## We check that when linking a main which references _c_func, lld can find the symbol.
+
 # RUN: rm -rf %t; split-file %s %t
 # RUN: mkdir -p %t/cc/two/three
 # RUN: mkdir -p %t/bb/two/three
@@ -7,10 +15,12 @@
 # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/c.s -o %t/c.o
 # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/b.s -o %t/b.o
 # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/a.s -o %t/a.o
+# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/main.s -o %t/main.o
 
 # RUN: %lld -dylib -install_name @rpath/two/three/libCee.dylib %t/c.o -o %t/cc/two/three/libCee.dylib 
 # RUN: %lld -dylib -install_name @rpath/two/three/libBee.dylib -L%t/cc/two/three -sub_library libCee -lCee %t/b.o -o %t/bb/two/three/libBee.dylib -rpath %t/cc
-# RUN: %lld -dylib -install_name @rpath/two/three/libAee.dylib -L%t/bb/two/three -sub_library libBee -lBee %t/a.o -o %t/aa/two/three/libAee.dylib
+# RUN: %lld -dylib -install_name @rpath/two/three/libAee.dylib -L%t/bb/two/three -sub_library libBee -lBee %t/a.o -o %t/aa/two/three/libAee.dylib -rpath %t/aa
+# RUN: %lld %t/main.o  -L%t/aa/two/three -lAee -o a.out -rpath %t/aa -rpath %t/bb -rpath %t/cc
 
 #--- c.s
 .text
@@ -33,3 +43,11 @@ _b_func:
 _a_func:
   mov $0, %rax
   ret
+
+#--- main.s
+.globl _main
+_main:
+  callq _c_func
+  callq _b_func
+  callq _a_func
+  ret


        


More information about the llvm-commits mailing list