From 358e60a6b33875ecb9fa8cd702d6ad9aa38d254d Mon Sep 17 00:00:00 2001 From: Bruno Cardoso Lopes Date: Thu, 4 Aug 2016 23:58:30 +0000 Subject: [PATCH] [LIT][Darwin] Change %ld64 to be prefixed with DYLD_INSERT_LIBRARIES 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 | 7 +++++-- llvm/test/tools/lto/hide-linkonce-odr.ll | 2 +- llvm/test/tools/lto/opt-level.ll | 4 ++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/llvm/test/lit.cfg b/llvm/test/lit.cfg index a8fe167..0c24b72 100644 --- a/llvm/test/lit.cfg +++ b/llvm/test/lit.cfg @@ -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. diff --git a/llvm/test/tools/lto/hide-linkonce-odr.ll b/llvm/test/tools/lto/hide-linkonce-odr.ll index 0bb5265..6fbd757 100644 --- a/llvm/test/tools/lto/hide-linkonce-odr.ll +++ b/llvm/test/tools/lto/hide-linkonce-odr.ll @@ -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 diff --git a/llvm/test/tools/lto/opt-level.ll b/llvm/test/tools/lto/opt-level.ll index ddd92f4..07bf48d 100644 --- a/llvm/test/tools/lto/opt-level.ll +++ b/llvm/test/tools/lto/opt-level.ll @@ -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" -- 2.7.4