1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
--- build/config/compiler/BUILD.gn.orig 2020-07-07 21:58:11 UTC
+++ build/config/compiler/BUILD.gn
@@ -133,7 +133,7 @@ declare_args() {
# 'is_android' breaks content_shell_test_apk on android-kitkat-arm-rel.
# 'use_xcode_clang' may call old clang.
init_stack_vars =
- !is_android && !use_xcode_clang && (!is_official_build || is_linux)
+ !is_android && !use_xcode_clang && (!is_official_build || is_linux) && !is_bsd
# This argument is to control whether enabling text section splitting in the
# final binary. When enabled, the separated text sections with prefix
@@ -287,7 +287,7 @@ config("compiler") {
}
# Linker warnings.
- if (fatal_linker_warnings && !is_mac && !is_ios && current_os != "aix") {
+ if (fatal_linker_warnings && !is_mac && !is_ios && !is_bsd && current_os != "aix") {
ldflags += [ "-Wl,--fatal-warnings" ]
}
if (fatal_linker_warnings && (is_mac || is_ios)) {
@@ -381,7 +381,7 @@ config("compiler") {
# Compiler instrumentation can introduce dependencies in DSOs to symbols in
# the executable they are loaded into, so they are unresolved at link-time.
- if (!using_sanitizer) {
+ if (!using_sanitizer && !is_bsd) {
ldflags += [
"-Wl,-z,defs",
"-Wl,--as-needed",
@@ -472,7 +472,7 @@ config("compiler") {
ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
}
- if (is_clang && !is_nacl && !use_xcode_clang) {
+ if (is_clang && !is_nacl && !use_xcode_clang && !is_bsd) {
cflags += [ "-fcrash-diagnostics-dir=" +
rebase_path("//tools/clang/crashreports", root_build_dir) ]
@@ -735,7 +735,7 @@ config("compiler_cpu_abi") {
cflags += [ "-mtune=$arm_tune" ]
}
} else if (current_cpu == "arm64") {
- if (is_clang && !is_android && !is_nacl && !is_fuchsia) {
+ if (is_clang && !is_android && !is_nacl && !is_fuchsia && !is_bsd) {
cflags += [ "--target=aarch64-linux-gnu" ]
ldflags += [ "--target=aarch64-linux-gnu" ]
}
@@ -1085,7 +1085,7 @@ config("compiler_deterministic") {
"-Xclang",
".",
]
- if (!is_win) {
+ if (!is_win && !is_bsd) {
# We don't use clang -cc1as on Windows (yet? https://crbug.com/762167)
asmflags = [ "-Wa,-fdebug-compilation-dir,." ]
}
@@ -1476,7 +1476,7 @@ config("default_warnings") {
cflags += [ "-Wno-max-tokens" ]
}
- if (current_toolchain == host_toolchain || !use_xcode_clang) {
+ if ((current_toolchain == host_toolchain || !use_xcode_clang) && !is_bsd) {
# Flags NaCl (Clang 3.7) and Xcode 9.2 (Clang clang-900.0.39.2) do not
# recognize.
cflags += [
@@ -1638,7 +1638,7 @@ config("no_chromium_code") {
# suppressing them individually, we just blanket suppress them here.
"-Wno-unused-variable",
]
- if (!is_nacl && (current_toolchain == host_toolchain || !use_xcode_clang)) {
+ if (!is_nacl && (current_toolchain == host_toolchain || !use_xcode_clang) && !is_bsd) {
cflags += [
# TODO(https://crbug.com/1031169): Clean up and enable.
"-Wno-misleading-indentation",
@@ -1716,7 +1716,7 @@ config("thin_archive") {
# Mac and iOS use the mac-specific "libtool" command, not ar, which doesn't
# have a "thin archive" mode (it does accept -T, but it means truncating
# archive names to 16 characters, which is not what we want).
- if ((is_posix && !is_nacl && !is_mac && !is_ios) || is_fuchsia) {
+ if ((is_posix && !is_nacl && !is_mac && !is_ios && !is_bsd) || is_fuchsia) {
arflags = [ "-T" ]
} else if (is_win && use_lld) {
arflags = [ "/llvmlibthin" ]
@@ -2246,7 +2246,7 @@ config("symbols") {
# flag, so we can use use -g1 for pnacl and nacl-clang compiles.
# gcc nacl is is_nacl && !is_clang, pnacl and nacl-clang are && is_clang.
if (!is_nacl || is_clang) {
- cflags += [ "-g2" ]
+ cflags += [ "-g0" ]
}
if (is_clang && !is_nacl && !use_xcode_clang) {
@@ -2274,7 +2274,7 @@ config("symbols") {
# DWARF info may be corrupt; offsets in a range list entry are in different
# sections" there. Maybe just a bug in nacl_switch_32.S.
if (!is_mac && !is_ios && !is_nacl && current_cpu != "x86" &&
- (use_gold || use_lld)) {
+ (use_gold || use_lld) && !is_bsd) {
if (is_clang) {
# This flag enables the GNU-format pubnames and pubtypes sections,
# which lld needs in order to generate a correct GDB index.
|