[gn build] Fix llvm_build_instrumented_coverage=true builds with goma/rbe
authorNico Weber <thakis@chromium.org>
Mon, 19 Jul 2021 23:57:02 +0000 (19:57 -0400)
committerNico Weber <thakis@chromium.org>
Mon, 19 Jul 2021 23:57:02 +0000 (19:57 -0400)
llvm/utils/gn/build/BUILD.gn

index 7998cde..9c19114 100644 (file)
@@ -233,6 +233,14 @@ config("compiler_defaults") {
       "-fprofile-instr-generate=" +
           rebase_path("$root_build_dir/profiles/%4m.profraw"),
     ]
+    if (use_goma) {
+      # goma has a bug where it writes the server-side absolute path.
+      # Work around that.
+      # FIXME: Instead, set this to `.` for deterministic builds and pass
+      # the build dir to prepare-code-coverage-artifact.py instead.
+      cflags += [ "-fcoverage-compilation-dir=" + rebase_path(root_build_dir) ]
+    }
+
     if (host_os != "win") {
       ldflags += [ "-fprofile-instr-generate" ]
     }