[LIT][Darwin] Change %ld64 to be prefixed with DYLD_INSERT_LIBRARIES
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Thu, 4 Aug 2016 23:58:30 +0000 (23:58 +0000)
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Thu, 4 Aug 2016 23:58:30 +0000 (23:58 +0000)
Followup from r277778, after Mehdi's comments.

Expand %ld64 to perform the necessary preload instead, that way new
tests do not need to worry about setting up DYLD_INSERT_LIBRARIES
themselves.

rdar://problem/24300926

llvm-svn: 277788

llvm/test/lit.cfg
llvm/test/tools/lto/hide-linkonce-odr.ll
llvm/test/tools/lto/opt-level.ll

index a8fe167..0c24b72 100644 (file)
@@ -210,7 +210,6 @@ config.substitutions.append( ('%llc_dwarf', llc_dwarf) )
 
 # Add site-specific substitutions.
 config.substitutions.append( ('%gold', config.gold_executable) )
-config.substitutions.append( ('%ld64', config.ld64_executable) )
 config.substitutions.append( ('%go', config.go_executable) )
 config.substitutions.append( ('%llvmshlibdir', config.llvm_shlib_dir) )
 config.substitutions.append( ('%shlibext', config.llvm_shlib_ext) )
@@ -221,7 +220,11 @@ config.substitutions.append( ('%host_cc', config.host_cc) )
 # Provide the path to asan runtime lib if available. On darwin, this lib needs
 # to be loaded via DYLD_INSERT_LIBRARIES before libLTO.dylib in case the files
 # to be linked contain instrumented sanitizer code.
-config.substitutions.append( ('%asanrtlib', get_asan_rtlib()) )
+ld64_cmd = config.ld64_executable
+asan_rtlib = get_asan_rtlib()
+if asan_rtlib:
+  ld64_cmd = "DYLD_INSERT_LIBRARIES={} {}".format(asan_rtlib, ld64_cmd)
+config.substitutions.append( ('%ld64', ld64_cmd) )
 
 # OCaml substitutions.
 # Support tests for both native and bytecode builds.
index 0bb5265..6fbd757 100644 (file)
@@ -1,5 +1,5 @@
 ; RUN: llvm-as %s -o %t.o
-; RUN: DYLD_INSERT_LIBRARIES=%asanrtlib %ld64 -lto_library %llvmshlibdir/libLTO.dylib -dylib -arch x86_64 -macosx_version_min 10.10.0 -lSystem -o %t.dylib %t.o -save-temps  -undefined dynamic_lookup -exported_symbol _c -exported_symbol _b  -exported_symbol _GlobLinkonce
+; RUN: %ld64 -lto_library %llvmshlibdir/libLTO.dylib -dylib -arch x86_64 -macosx_version_min 10.10.0 -lSystem -o %t.dylib %t.o -save-temps  -undefined dynamic_lookup -exported_symbol _c -exported_symbol _b  -exported_symbol _GlobLinkonce
 
 ; RUN: llvm-dis %t.dylib.lto.opt.bc -o - | FileCheck --check-prefix=IR %s
 ; check that @a is no longer a linkonce_odr definition
index ddd92f4..07bf48d 100644 (file)
@@ -1,7 +1,7 @@
 ; RUN: llvm-as %s -o %t.o
-; RUN: DYLD_INSERT_LIBRARIES=%asanrtlib %ld64 -lto_library %llvmshlibdir/libLTO.dylib -arch x86_64 -dylib -mllvm -O0 -o %t.dylib %t.o
+; RUN: %ld64 -lto_library %llvmshlibdir/libLTO.dylib -arch x86_64 -dylib -mllvm -O0 -o %t.dylib %t.o
 ; RUN: llvm-nm -no-llvm-bc %t.dylib | FileCheck --check-prefix=CHECK-O0 %s
-; RUN: DYLD_INSERT_LIBRARIES=%asanrtlib %ld64 -lto_library %llvmshlibdir/libLTO.dylib -arch x86_64 -dylib -mllvm -O2 -o %t.dylib %t.o
+; RUN: %ld64 -lto_library %llvmshlibdir/libLTO.dylib -arch x86_64 -dylib -mllvm -O2 -o %t.dylib %t.o
 ; RUN: llvm-nm -no-llvm-bc %t.dylib | FileCheck --check-prefix=CHECK-O2 %s
 
 target triple = "x86_64-apple-macosx10.8.0"