[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