diff --git a/lld/ELF/DriverUtils.cpp b/lld/ELF/DriverUtils.cpp --- a/lld/ELF/DriverUtils.cpp +++ b/lld/ELF/DriverUtils.cpp @@ -186,6 +186,9 @@ // Strip directories to prevent the issue. os << "-o " << quote(path::filename(arg->getValue())) << "\n"; break; + case OPT_lto_sample_profile: + os << arg->getSpelling() << quote(rewritePath(arg->getValue())) << "\n"; + break; case OPT_call_graph_ordering_file: case OPT_dynamic_list: case OPT_just_symbols: diff --git a/lld/test/ELF/reproduce-lto.s b/lld/test/ELF/reproduce-lto.s --- a/lld/test/ELF/reproduce-lto.s +++ b/lld/test/ELF/reproduce-lto.s @@ -10,8 +10,13 @@ # RUN: cd %t.dir # RUN: ld.lld build1/foo.o -o /dev/null --reproduce repro1.tar --lto-sample-profile=%t.dir/build1/empty_profile.txt # RUN: tar tvf repro1.tar | FileCheck %s --implicit-check-not={{.}} +# RUN: tar xvf repro1.tar &> %t2 +# RUN: cat repro1/response.txt >> %t2 +# RUN: FileCheck %s --check-prefix=RSP < %t2 # CHECK-DAG: {{.*}} repro1/{{.*}}/empty_profile.txt # CHECK-DAG: {{.*}} repro1/response.txt # CHECK-DAG: {{.*}} repro1/version.txt # CHECK-DAG: {{.*}} repro1/{{.*}}/foo.o +# RSP: repro1/[[PATH:.*]]/empty_profile.txt +# RSP: --lto-sample-profile=[[PATH]]/empty_profile.txt