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
|
--- build/config/compiler/BUILD.gn.orig 2019-01-30 02:17:39.000000000 +0100
+++ build/config/compiler/BUILD.gn 2019-01-31 21:56:18.122280000 +0100
@@ -53,7 +53,7 @@
# only two architectures that are currently checked in). Turn this off when
# you are using a custom toolchain and need to control -B in cflags.
linux_use_bundled_binutils =
- linux_use_bundled_binutils_override && is_linux &&
+ linux_use_bundled_binutils_override && (is_linux && !is_bsd) &&
(current_cpu == "x64" || current_cpu == "x86")
binutils_path = rebase_path("//third_party/binutils/Linux_x64/Release/bin",
root_build_dir)
@@ -274,7 +274,7 @@
# Linker warnings.
if (fatal_linker_warnings && !(is_chromeos && current_cpu == "arm") &&
!(is_android && use_order_profiling) && !is_mac && !is_ios &&
- current_os != "aix") {
+ current_os != "aix" && !is_bsd) {
# TODO(jochen): Enable this on chromeos on arm. http://crbug.com/356580
# TODO(lizeb,pasko): Fix link errors when linking with order_profiling=1
# crbug.com/485542
@@ -393,7 +393,7 @@
# 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",
@@ -501,7 +501,7 @@
}
}
- if (is_clang && !is_nacl && !use_xcode_clang) {
+ if (is_clang && !is_nacl && !use_xcode_clang && !is_bsd) {
cflags += [
# TODO(hans): Remove this once Clang generates better optimized debug info
# by default. https://crbug.com/765793
@@ -808,7 +808,7 @@
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" ]
}
@@ -1488,11 +1488,13 @@
if (current_toolchain == host_toolchain || !use_xcode_clang) {
# Flags NaCl (Clang 3.7) and Xcode 9.2 (Clang clang-900.0.39.2) do not
# recognize.
- cflags += [
- # Ignore warnings about MSVC optimization pragmas.
- # TODO(thakis): Only for no_chromium_code? http://crbug.com/505314
- "-Wno-ignored-pragma-optimize",
- ]
+ if (!is_bsd) {
+ cflags += [
+ # Ignore warnings about MSVC optimization pragmas.
+ # TODO(thakis): Only for no_chromium_code? http://crbug.com/505314
+ "-Wno-ignored-pragma-optimize",
+ ]
+ }
if (is_fuchsia) {
cflags += [
# TODO(hans): https://crbug.com/890307
@@ -1684,7 +1686,7 @@
# 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" ]
}
}
@@ -2269,7 +2271,7 @@
# 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 (use_debug_fission && !is_nacl && !is_android) {
@@ -2290,7 +2292,7 @@
# 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.
|