1*4882a593SmuzhiyunFrom 32f035a05e04c0a396e1b43ee8f63bb412c13907 Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Max Ihlenfeldt <max@igalia.com>
3*4882a593SmuzhiyunDate: Fri, 10 Feb 2023 12:03:41 +0000
4*4882a593SmuzhiyunSubject: [PATCH] [PATCH] Revert "Use -ffile-compilation-dir= instead of
5*4882a593Smuzhiyun -fdebug-compilation-dir=" and "[ios] Fix breakpoint in Swift files"
6*4882a593Smuzhiyun
7*4882a593Smuzhiyunffile-compilation-dir is supported since clang 13, while
8*4882a593Smuzhiyunmeta-clang dunfel and hardknott are based on clang versions
9*4882a593Smuzhiyun11 and 12 respectively. Thus, revert the change and use
10*4882a593Smuzhiyunfdebug-compilation-dir, which is supported by both
11*4882a593Smuzhiyunversions.
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunThis reverts commits 34a955823630096f5b01c2b01d51c1ea59d22763 and
14*4882a593Smuzhiyun765a3d2a795431f4d5d06d0f39b3512dac4a81d5, except for the changes to
15*4882a593Smuzhiyuntoolchain/ios/swiftc.py.
16*4882a593Smuzhiyun
17*4882a593SmuzhiyunUpstream-Status: Inappropriate
18*4882a593Smuzhiyun
19*4882a593SmuzhiyunSigned-off-by: Max Ihlenfeldt <max@igalia.com>
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun---
22*4882a593Smuzhiyun build/config/compiler/BUILD.gn     | 21 ++++++---------------
23*4882a593Smuzhiyun build/config/compiler/compiler.gni |  7 +++++--
24*4882a593Smuzhiyun 2 files changed, 11 insertions(+), 17 deletions(-)
25*4882a593Smuzhiyun
26*4882a593Smuzhiyundiff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
27*4882a593Smuzhiyunindex d1d3835578db0..6de8875a45eee 100644
28*4882a593Smuzhiyun--- a/build/config/compiler/BUILD.gn
29*4882a593Smuzhiyun+++ b/build/config/compiler/BUILD.gn
30*4882a593Smuzhiyun@@ -1290,7 +1290,6 @@ config("compiler_codegen") {
31*4882a593Smuzhiyun config("compiler_deterministic") {
32*4882a593Smuzhiyun   cflags = []
33*4882a593Smuzhiyun   ldflags = []
34*4882a593Smuzhiyun-  swiftflags = []
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun   # Eliminate build metadata (__DATE__, __TIME__ and __TIMESTAMP__) for
37*4882a593Smuzhiyun   # deterministic build.  See https://crbug.com/314403
38*4882a593Smuzhiyun@@ -1319,20 +1318,12 @@ config("compiler_deterministic") {
39*4882a593Smuzhiyun     # different build directory like "out/feature_a" and "out/feature_b" if
40*4882a593Smuzhiyun     # we build same files with same compile flag.
41*4882a593Smuzhiyun     # Other paths are already given in relative, no need to normalize them.
42*4882a593Smuzhiyun-    if (is_nacl) {
43*4882a593Smuzhiyun-      # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here.
44*4882a593Smuzhiyun-      cflags += [
45*4882a593Smuzhiyun-        "-Xclang",
46*4882a593Smuzhiyun-        "-fdebug-compilation-dir",
47*4882a593Smuzhiyun-        "-Xclang",
48*4882a593Smuzhiyun-        ".",
49*4882a593Smuzhiyun-      ]
50*4882a593Smuzhiyun-    } else {
51*4882a593Smuzhiyun-      # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir=
52*4882a593Smuzhiyun-      # and -fcoverage-compilation-dir=.
53*4882a593Smuzhiyun-      cflags += [ "-ffile-compilation-dir=." ]
54*4882a593Smuzhiyun-      swiftflags += [ "-file-compilation-dir=." ]
55*4882a593Smuzhiyun-    }
56*4882a593Smuzhiyun+    cflags += [
57*4882a593Smuzhiyun+      "-Xclang",
58*4882a593Smuzhiyun+      "-fdebug-compilation-dir",
59*4882a593Smuzhiyun+      "-Xclang",
60*4882a593Smuzhiyun+      ".",
61*4882a593Smuzhiyun+    ]
62*4882a593Smuzhiyun     if (!is_win) {
63*4882a593Smuzhiyun       # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167)
64*4882a593Smuzhiyun       asmflags = [ "-Wa,-fdebug-compilation-dir,." ]
65*4882a593Smuzhiyundiff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni
66*4882a593Smuzhiyunindex 7a43b1113a495..5bec423af6c89 100644
67*4882a593Smuzhiyun--- a/build/config/compiler/compiler.gni
68*4882a593Smuzhiyun+++ b/build/config/compiler/compiler.gni
69*4882a593Smuzhiyun@@ -267,8 +267,11 @@ declare_args() {
70*4882a593Smuzhiyun # deterministic builds to reduce compile times, so this is less relevant for
71*4882a593Smuzhiyun # official builders.
72*4882a593Smuzhiyun strip_absolute_paths_from_debug_symbols_default =
73*4882a593Smuzhiyun-    is_android || is_fuchsia || is_nacl || (is_win && use_lld) || is_linux ||
74*4882a593Smuzhiyun-    is_chromeos || (is_apple && !enable_dsyms)
75*4882a593Smuzhiyun+    # TODO(crbug.com/1010267): remove '!use_clang_coverage', coverage build has
76*4882a593Smuzhiyun+    # dependency to absolute path of source files.
77*4882a593Smuzhiyun+    !use_clang_coverage &&
78*4882a593Smuzhiyun+    (is_android || is_fuchsia || is_nacl || (is_win && use_lld) || is_linux ||
79*4882a593Smuzhiyun+     is_chromeos || (is_apple && !enable_dsyms))
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun # If the platform uses stripped absolute paths by default, then we don't expose
82*4882a593Smuzhiyun # it as a configuration option. If this is causing problems, please file a bug.
83