[PATCH] D40125: [ELF] Fix rewriting of --sysroot in reproducer tars
Alexander Richardson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 16 05:52:00 PST 2017
arichardson created this revision.
Herald added a subscriber: emaste.
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
https://reviews.llvm.org/D40125
Files:
ELF/DriverUtils.cpp
test/ELF/reproduce.s
Index: test/ELF/reproduce.s
===================================================================
--- test/ELF/reproduce.s
+++ test/ELF/reproduce.s
@@ -34,26 +34,28 @@
# 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: --version-script ver --dynamic-linker "some unusual/path" -soname 'foo bar' \
-# RUN: -soname='foo bar'
+# RUN: -soname='foo bar' --sysroot "sysroot with spaces"
# 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: --version-script [[BASEDIR]]/ver
# RSP2-NEXT: --dynamic-linker "some unusual/path"
# RSP2-NEXT: -soname "foo bar"
# RSP2-NEXT: -soname "foo bar"
+# RSP2-NEXT: --sysroot="[[BASEDIR]]/sysroot with spaces"
# RUN: tar tf repro2.tar | FileCheck %s
# CHECK: repro2/response.txt
Index: ELF/DriverUtils.cpp
===================================================================
--- ELF/DriverUtils.cpp
+++ ELF/DriverUtils.cpp
@@ -164,6 +164,10 @@
OS << Arg->getSpelling() << " " << quote(rewritePath(Arg->getValue()))
<< "\n";
break;
+ case OPT_sysroot:
+ OS << Arg->getSpelling() << "=" << quote(rewritePath(Arg->getValue()))
+ << "\n";
+ break;
default:
OS << toString(Arg) << "\n";
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D40125.123167.patch
Type: text/x-patch
Size: 2234 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171116/014e0837/attachment.bin>
More information about the llvm-commits
mailing list