From 34a955823630096f5b01c2b01d51c1ea59d22763 Mon Sep 17 00:00:00 2001 From: Zequan Wu Date: Tue, 20 Jul 2021 14:13:50 +0000 Subject: [PATCH] Use -ffile-compilation-dir= instead of -fdebug-compilation-dir= Bug: 1010267 Change-Id: If2b4ead8535a76490eb466a38e3d8fed6ea91079 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2770738 Auto-Submit: Zequan Wu Commit-Queue: Nico Weber Reviewed-by: Nico Weber Cr-Commit-Position: refs/heads/master@{#903456} --- build/config/compiler/BUILD.gn | 18 ++++++++++++------ build/config/compiler/compiler.gni | 7 ++----- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn index ede07d111c..6db16c1cdd 100644 --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn @@ -1216,12 +1216,18 @@ config("compiler_deterministic") { # different build directory like "out/feature_a" and "out/feature_b" if # we build same files with same compile flag. # Other paths are already given in relative, no need to normalize them. - cflags += [ - "-Xclang", - "-fdebug-compilation-dir", - "-Xclang", - ".", - ] + if (is_nacl) { + cflags += [ + "-Xclang", + "-fdebug-compilation-dir", + "-Xclang", + ".", + ] + } else { + # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= + # and -fcoverage-compilation-dir=. + cflags += [ "-ffile-compilation-dir=." ] + } if (!is_win) { # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) asmflags = [ "-Wa,-fdebug-compilation-dir,." ] diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni index 8c259c360a..642319b4f4 100644 --- a/build/config/compiler/compiler.gni +++ b/build/config/compiler/compiler.gni @@ -225,11 +225,8 @@ declare_args() { # deterministic builds to reduce compile times, so this is less relevant for # official builders. strip_absolute_paths_from_debug_symbols_default = - # TODO(crbug.com/1010267): remove '!use_clang_coverage', coverage build has - # dependency to absolute path of source files. - !use_clang_coverage && - (is_android || is_fuchsia || is_nacl || (is_win && use_lld) || is_linux || - is_chromeos || (is_apple && !enable_dsyms)) + is_android || is_fuchsia || is_nacl || (is_win && use_lld) || is_linux || + is_chromeos || (is_apple && !enable_dsyms) # If the platform uses stripped absolute paths by default, then we don't expose # it as a configuration option. If this is causing problems, please file a bug.