[lld] r318656 - [ELF] Fix rewriting of --sysroot in reproducer tars

Alexander Richardson via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 20 07:49:48 PST 2017


Author: arichardson
Date: Mon Nov 20 07:49:48 2017
New Revision: 318656

URL: http://llvm.org/viewvc/llvm-project?rev=318656&view=rev
Log:
[ELF] Fix rewriting of --sysroot in reproducer tars

Summary:
I noticed that the reproducers files I was getting from building CheriBSD
didn't work because the --sysroot option was not being rewritten. I've
updated the test to also verify that the rewritten path matches uses a
FileCheck capature instead of a {{.+}} regex

Reviewers: ruiu

Reviewed By: ruiu

Subscribers: llvm-commits, emaste

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

Modified:
    lld/trunk/ELF/DriverUtils.cpp
    lld/trunk/test/ELF/reproduce.s

Modified: lld/trunk/ELF/DriverUtils.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/DriverUtils.cpp?rev=318656&r1=318655&r2=318656&view=diff
==============================================================================
--- lld/trunk/ELF/DriverUtils.cpp (original)
+++ lld/trunk/ELF/DriverUtils.cpp Mon Nov 20 07:49:48 2017
@@ -160,6 +160,7 @@ std::string elf::createResponseFile(cons
     case OPT_rpath:
     case OPT_script:
     case OPT_symbol_ordering_file:
+    case OPT_sysroot:
     case OPT_version_script:
       OS << Arg->getSpelling() << " " << quote(rewritePath(Arg->getValue()))
          << "\n";

Modified: lld/trunk/test/ELF/reproduce.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/reproduce.s?rev=318656&r1=318655&r2=318656&view=diff
==============================================================================
--- lld/trunk/test/ELF/reproduce.s (original)
+++ lld/trunk/test/ELF/reproduce.s Mon Nov 20 07:49:48 2017
@@ -34,23 +34,27 @@
 # RUN: echo > file
 # RUN: echo > file2
 # RUN: echo "_start" > order
+# RUN: mkdir "sysroot with spaces"
 # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o 'foo bar'
 # RUN: ld.lld --reproduce repro2.tar 'foo bar' -L"foo bar" -Lfile -Tfile2 \
 # RUN:   --dynamic-list dyn -rpath file --script=file --symbol-ordering-file order \
+# RUN:   --sysroot "sysroot with spaces" --sysroot="sysroot with spaces" \
 # RUN:   --version-script ver --dynamic-linker "some unusual/path" -soname 'foo bar' \
 # RUN:   -soname='foo bar'
 # RUN: tar xf repro2.tar
 # RUN: FileCheck %s --check-prefix=RSP2 < repro2/response.txt
 # RSP2:      --chroot .
 # RSP2:      "{{.*}}foo bar"
-# RSP2-NEXT: --library-path "{{.*}}foo bar"
-# RSP2-NEXT: --library-path {{.+}}file
-# RSP2-NEXT: --script {{.+}}file2
-# RSP2-NEXT: --dynamic-list {{.+}}dyn
-# RSP2-NEXT: -rpath {{.+}}file
-# RSP2-NEXT: --script {{.+}}file
-# RSP2-NEXT: --symbol-ordering-file [[PATH:.+]]order
-# RSP2-NEXT: --version-script [[PATH]]ver
+# RSP2-NEXT: --library-path "[[BASEDIR:.+]]/foo bar"
+# RSP2-NEXT: --library-path [[BASEDIR]]/file
+# RSP2-NEXT: --script [[BASEDIR]]/file2
+# RSP2-NEXT: --dynamic-list [[BASEDIR]]/dyn
+# RSP2-NEXT: -rpath [[BASEDIR]]/file
+# RSP2-NEXT: --script [[BASEDIR]]/file
+# RSP2-NEXT: --symbol-ordering-file [[BASEDIR]]/order
+# RSP2-NEXT: --sysroot "[[BASEDIR]]/sysroot with spaces"
+# RSP2-NEXT: --sysroot "[[BASEDIR]]/sysroot with spaces"
+# RSP2-NEXT: --version-script [[BASEDIR]]/ver
 # RSP2-NEXT: --dynamic-linker "some unusual/path"
 # RSP2-NEXT: -soname "foo bar"
 # RSP2-NEXT: -soname "foo bar"




More information about the llvm-commits mailing list