--- build/config/compiler/BUILD.gn.orig 2019-03-16 09:15:20 UTC +++ build/config/compiler/BUILD.gn @@ -52,7 +52,7 @@ declare_args() { # 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) @@ -263,7 +263,7 @@ config("compiler") { # 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 @@ -380,12 +380,6 @@ config("compiler") { "-Wl,-z,now", "-Wl,-z,relro", ] - if (!using_sanitizer) { - ldflags += [ - "-Wl,-z,defs", - "-Wl,--as-needed", - ] - } } # Linux-specific compiler flags setup. @@ -489,7 +483,7 @@ config("compiler") { } if (is_clang && !is_nacl && current_toolchain == host_toolchain && - target_os != "chromeos") { + target_os != "chromeos" && !is_bsd) { cflags += [ # TODO(hans): Remove this once Clang generates better optimized debug info # by default. https://crbug.com/765793 @@ -742,7 +736,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" ] } @@ -1477,10 +1471,6 @@ config("default_warnings") { cflags += [ # TODO(thakis): https://crbug.com/753973 "-Wno-enum-compare-switch", - - # Ignore warnings about MSVC optimization pragmas. - # TODO(thakis): Only for no_chromium_code? http://crbug.com/505314 - "-Wno-ignored-pragma-optimize", ] } } @@ -1654,7 +1644,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" ] } } @@ -2181,7 +2171,7 @@ config("symbols") { # [1] crrev.com/a81d5ade0b043208e06ad71a38bcf9c348a1a52f cflags += [ "-gdwarf-3" ] } - cflags += [ "-g2" ] + cflags += [ "-g0" ] } if (use_debug_fission && !is_nacl && !is_android) { # NOTE: Some Chrome OS builds globally set |use_debug_fission| to true, @@ -2201,7 +2191,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 && target_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.