[PATCH] D19737: Make --reproduce produce more reproducible logs.

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 29 12:40:33 PDT 2016


ruiu created this revision.
ruiu added reviewers: davide, rafael.
ruiu added a subscriber: llvm-commits.

The aim of this patch is to make it easy to re-run the command without
updating paths in the command line. Here is a use case.

Assume that Alice is having an issue with lld and is reporting the issue
to developer Bob. Alice's current directly is /home/alice/work and her
command line is "ld.lld -o foo foo.o ../bar.o". She adds "--reproduce repro"
to the command line and re-run. Then the following text will be produced as
invocation.txt.

  /ld.lld -o foo foo.o ../bar.o --directory /home/alice/work

The command also produces the following files by copying inputs.

  /home/alice/repro/home/alice/work/foo.o
  /home/alice/repro/home/alice/bar.o

Alice zips the directory and send it to Bob. Bob got an archive from Alice
and extract it to his home directory as /home/bob/repro. Now his directory
have the following files.

  /home/bob/repro/invocation.txt
  /home/bob/repro/home/alice/work/foo.o
  /home/bob/repro/home/alice/bar.o

Bob first copies his ld.lld to /home/bob/repro directory, and then
run the following command to reproduce the issue.

  fakechroot chroot /home/bob/repro `cat /home/bob/repro/invocation.txt`

http://reviews.llvm.org/D19737

Files:
  ELF/Driver.cpp
  ELF/Driver.h
  ELF/DriverUtils.cpp
  ELF/Options.td
  test/ELF/reproduce.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D19737.55649.patch
Type: text/x-patch
Size: 6985 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160429/8032f3f2/attachment.bin>


More information about the llvm-commits mailing list