Skip to content

Commit 73f6d15

Browse files
rmacnak-googlecommit-bot@chromium.org
authored andcommitted
[build] Update clang and gn to match Fuchsia.
This new version has functional TSAN. Bug: dart-lang/sdk#39611 Change-Id: Ia9835fb6ad6de73f43faea695f893ed0c62fffa7 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136380 Reviewed-by: Alexander Markov <alexmarkov@google.com> Reviewed-by: Alexander Thomas <athom@google.com> Commit-Queue: Ryan Macnak <rmacnak@google.com>
1 parent 070f67a commit 73f6d15

File tree

6 files changed

+31
-27
lines changed

6 files changed

+31
-27
lines changed

DEPS

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ vars = {
4747
# The list of revisions for these tools comes from Fuchsia, here:
4848
# https://fuchsia.googlesource.com/buildtools/+/master/fuchsia.ensure
4949
# If there are problems with the toolchain, contact fuchsia-toolchain@.
50-
"clang_revision": "de39621f0f03f20633bdfa50bde97a3908bf6e98",
51-
"gn_revision": "bdb0fd02324b120cacde634a9235405061c8ea06",
50+
"clang_revision": "b25fc4123c77097c05ea221e023fa5c6a16e0f41",
51+
"gn_revision": "239533d2d91a04b3317ca9101cf7189f4e651e4d",
5252

5353
# Scripts that make 'git cl format' work.
5454
"clang_format_scripts_rev": "c09c8deeac31f05bd801995c475e7c8070f9ecda",
@@ -426,7 +426,7 @@ deps = {
426426
Var("dart_root") + "/buildtools/" + Var("host_os") + "-" + Var("host_cpu") + "/clang": {
427427
"packages": [
428428
{
429-
"package": "fuchsia/clang/${{platform}}",
429+
"package": "fuchsia/third_party/clang/${{platform}}",
430430
"version": "git_revision:" + Var("clang_revision"),
431431
},
432432
],

build/config/clang/clang.gni

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Copyright (c) 2020 The Chromium Authors. All rights reserved.
2+
# Use of this source code is governed by a BSD-style license that can be
3+
# found in the LICENSE file.
4+
5+
default_clang_prefix =
6+
rebase_path("//buildtools/${host_os}-${host_cpu}/clang/bin", root_build_dir)
7+
8+
declare_args() {
9+
clang_prefix = default_clang_prefix
10+
}

build/config/linux/BUILD.gn

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,9 @@ config("sdk") {
88
ldflags = []
99
cflags = []
1010

11-
if (is_asan || is_lsan || is_msan || is_tsan || is_ubsan) {
12-
ldflags += [ "-lrt" ]
13-
} else if (is_clang) {
11+
if (is_clang) {
1412
# Don't allow visible symbols from libc++ to be re-exported.
15-
ldflags = [
16-
"-nodefaultlibs",
17-
"-lc++",
18-
"-lc",
19-
"-lm",
20-
"-lpthread",
21-
"-lclang_rt.builtins",
22-
"-Wl,--exclude-libs=libc++.a",
23-
]
13+
ldflags += [ "-Wl,--exclude-libs=libc++.a" ]
2414
}
2515

2616
if (sysroot != "") {
@@ -47,7 +37,7 @@ config("sdk") {
4737
}
4838

4939
if (is_qemu) {
50-
cflags += ["-DDART_RUN_IN_QEMU_ARMv7"]
40+
cflags += [ "-DDART_RUN_IN_QEMU_ARMv7" ]
5141
}
5242
}
5343

build/config/mac/BUILD.gn

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,16 @@
33
# found in the LICENSE file.
44

55
import("//build/config/sysroot.gni")
6+
import("../clang/clang.gni")
67

78
config("sdk") {
89
common_flags = [ "-stdlib=libc++" ]
910

1011
cflags = common_flags
11-
ldflags = common_flags
12+
ldflags = common_flags + [
13+
"-nostdlib++",
14+
"${clang_prefix}/../lib/libc++.a",
15+
]
1216
}
1317

1418
# On Mac, this is used for everything except static libraries.

third_party/tcmalloc/BUILD.gn

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,10 @@ config("internal_config") {
3535
"-faligned-new",
3636
]
3737
if (is_clang) {
38-
cflags += [ "-Wno-unused-const-variable" ]
38+
cflags += [
39+
"-Wno-unused-const-variable",
40+
"-Wno-implicit-int-float-conversion",
41+
]
3942
}
4043
if (current_cpu == "arm" && !is_clang) {
4144
cflags += [ "-Wno-psabi" ]
@@ -80,9 +83,7 @@ source_set("tcmalloc") {
8083

8184
public_configs = [ ":link_config" ]
8285

83-
deps = [
84-
":dynamic_annotations",
85-
]
86+
deps = [ ":dynamic_annotations" ]
8687

8788
include_dirs = [
8889
"include",

tools/bots/test_matrix.json

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -487,31 +487,31 @@
487487
"builder-tag": "analyzer_use_fasta"
488488
}
489489
},
490-
"dartk-asan-(linux|mac|win)-(debug|product|release)-(ia32|x64)": {
490+
"dartk-asan-(linux|mac)-(debug|product|release)-(ia32|x64)": {
491491
"options": {
492492
"builder-tag": "asan",
493493
"timeout": 240
494494
}
495495
},
496-
"dartk-lsan-(linux|mac|win)-(debug|product|release)-(ia32|x64)": {
496+
"dartk-lsan-(linux|mac)-(debug|product|release)-(ia32|x64)": {
497497
"options": {
498498
"builder-tag": "lsan",
499499
"timeout": 240
500500
}
501501
},
502-
"dartk-msan-(linux|mac|win)-(debug|product|release)-(ia32|x64)": {
502+
"dartk-msan-linux-(debug|product|release)-x64": {
503503
"options": {
504504
"builder-tag": "msan",
505505
"timeout": 240
506506
}
507507
},
508-
"dartk-tsan-(linux|mac|win)-(debug|product|release)-x64": {
508+
"dartk-tsan-(linux|mac)-(debug|product|release)-x64": {
509509
"options": {
510510
"builder-tag": "tsan",
511511
"timeout": 240
512512
}
513513
},
514-
"dartk-ubsan-(linux|mac|win)-(debug|product|release)-(ia32|x64)": {
514+
"dartk-ubsan-(linux|mac)-(debug|product|release)-(ia32|x64)": {
515515
"options": {
516516
"builder-tag": "ubsan",
517517
"timeout": 240
@@ -1446,7 +1446,6 @@
14461446
},
14471447
{
14481448
"builders": [
1449-
"vm-kernel-msan-linux-release-ia32",
14501449
"vm-kernel-msan-linux-release-x64"
14511450
],
14521451
"meta": {

0 commit comments

Comments
 (0)