[PATCH] D21008: Create version.txt in a reproduce archive file.
Rafael EspĂndola via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 6 03:33:27 PDT 2016
Lgtm. Thanks!
On Jun 5, 2016 8:43 PM, "Rui Ueyama" <ruiu at google.com> wrote:
> ruiu created this revision.
> ruiu added a reviewer: rafael.
> ruiu added a subscriber: llvm-commits.
>
> Create version.txt in a reproduce archive file.
>
> http://reviews.llvm.org/D21008
>
> Files:
> ELF/Driver.cpp
> ELF/Driver.h
> ELF/DriverUtils.cpp
> test/ELF/reproduce.s
>
> Index: test/ELF/reproduce.s
> ===================================================================
> --- test/ELF/reproduce.s
> +++ test/ELF/reproduce.s
> @@ -19,6 +19,9 @@
> # RSP-NEXT: -shared
> # RSP-NEXT: --as-needed
>
> +# RUN: FileCheck %s --check-prefix=VERSION < repro/version.txt
> +# VERSION: LLD
> +
> # RUN: mkdir -p %t.dir/build2/a/b/c
> # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o
> %t.dir/build2/foo.o
> # RUN: cd %t.dir/build2/a/b/c
> @@ -50,6 +53,7 @@
>
> # RUN: cpio -t < repro2.cpio | FileCheck %s
> # CHECK: repro2/response.txt
> +# CHECK-NEXT: repro2/version.txt
> # CHECK-NEXT: repro2/{{.*}}/dyn
> # CHECK-NEXT: repro2/{{.*}}/ver
> # CHECK-NEXT: repro2/{{.*}}/foo bar
> Index: ELF/DriverUtils.cpp
> ===================================================================
> --- ELF/DriverUtils.cpp
> +++ ELF/DriverUtils.cpp
> @@ -80,12 +80,12 @@
> Table.PrintHelp(outs(), Argv0, "lld", false);
> }
>
> -void elf::printVersion() {
> - outs() << "LLD " << getLLDVersion();
> - std::string S = getLLDRepositoryVersion();
> - if (!S.empty())
> - outs() << " " << S;
> - outs() << "\n";
> +std::string elf::getVersionString() {
> + std::string Version = getLLDVersion();
> + std::string Repo = getLLDRepositoryVersion();
> + if (Repo.empty())
> + return "LLD " + Version + "\n";
> + return "LLD " + Version + " " + Repo + "\n";
> }
>
> // Converts a hex string (e.g. "0x123456") to a vector.
> Index: ELF/Driver.h
> ===================================================================
> --- ELF/Driver.h
> +++ ELF/Driver.h
> @@ -95,7 +95,7 @@
> };
>
> void printHelp(const char *Argv0);
> -void printVersion();
> +std::string getVersionString();
> std::vector<uint8_t> parseHexstring(StringRef S);
>
> std::string createResponseFile(const llvm::opt::InputArgList &Args);
> Index: ELF/Driver.cpp
> ===================================================================
> --- ELF/Driver.cpp
> +++ ELF/Driver.cpp
> @@ -248,16 +248,18 @@
> return;
> }
> if (Args.hasArg(OPT_version)) {
> - printVersion();
> + outs() << getVersionString();
> return;
> }
>
> if (auto *Arg = Args.getLastArg(OPT_reproduce)) {
> // Note that --reproduce is a debug option so you can ignore it
> // if you are trying to understand the whole picture of the code.
> Cpio.reset(CpioFile::create(Arg->getValue()));
> - if (Cpio)
> + if (Cpio) {
> Cpio->append("response.txt", createResponseFile(Args));
> + Cpio->append("version.txt", getVersionString());
> + }
> }
>
> readConfigs(Args);
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160606/70aa6c87/attachment.html>
More information about the llvm-commits
mailing list