mirror of
https://github.com/dart-lang/sdk
synced 2024-07-20 09:54:38 +00:00
![Ryan Macnak](/assets/img/avatar_default.png)
This allows it to be instrumented by the sanitizers. Enabled only for MSAN and for Android. Don't pick up Flutter's including no_exceptions in the default config set. TEST=ci Bug: https://github.com/dart-lang/sdk/issues/44312 Bug: https://github.com/dart-lang/sdk/issues/44377 Bug: https://github.com/dart-lang/sdk/issues/43075 Bug: https://github.com/dart-lang/sdk/issues/50248 Bug: https://github.com/dart-lang/sdk/issues/50271 Bug: https://github.com/dart-lang/sdk/issues/52441 Change-Id: If01704ff29569fba8f8181ed31d52faba8d8370f Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/304824 Reviewed-by: Alexander Aprelev <aam@google.com> Commit-Queue: Ryan Macnak <rmacnak@google.com>
73 lines
1.9 KiB
Plaintext
73 lines
1.9 KiB
Plaintext
# Copyright (c) 2013 The Chromium Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
import("//build/config/sysroot.gni")
|
|
|
|
config("sdk") {
|
|
ldflags = []
|
|
cflags = []
|
|
|
|
if (is_clang) {
|
|
# Don't allow visible symbols from libc++ to be re-exported.
|
|
ldflags += [ "-Wl,--exclude-libs=libc++.a" ]
|
|
}
|
|
|
|
# Explicitly use static linking for libstdc++ and libgcc to minimize
|
|
# dependencies.
|
|
if (!use_flutter_cxx) {
|
|
ldflags += [
|
|
"-static-libgcc",
|
|
"-static-libstdc++",
|
|
]
|
|
}
|
|
|
|
if (sysroot != "") {
|
|
cflags += [ "--sysroot=" + sysroot ]
|
|
ldflags += [ "--sysroot=" + sysroot ]
|
|
|
|
# Need to get some linker flags out of the sysroot.
|
|
ldflags += [ exec_script("sysroot_ld_path.py",
|
|
[
|
|
rebase_path("//build/linux/sysroot_ld_path.sh",
|
|
root_build_dir),
|
|
sysroot,
|
|
],
|
|
"value") ]
|
|
|
|
if (dart_sysroot == "alpine") {
|
|
# When using the alpine sysroot, prefers lld as linker.
|
|
if (is_clang) {
|
|
ldflags += [ "-fuse-ld=lld" ]
|
|
}
|
|
}
|
|
|
|
# When using the pulled Debian sysroot with gcc, we have to specify these
|
|
# explicitly.
|
|
if (dart_sysroot == "debian" && !is_clang) {
|
|
cflags += [
|
|
"-I=/usr/include/c++/4.8",
|
|
"-I=/usr/include/c++/4.8/i486-linux-gnu",
|
|
]
|
|
}
|
|
}
|
|
|
|
# Enable Large File Support extension (LFS)
|
|
cflags += [
|
|
"-D_FILE_OFFSET_BITS=64",
|
|
"-D_LARGEFILE_SOURCE",
|
|
"-D_LARGEFILE64_SOURCE",
|
|
]
|
|
}
|
|
|
|
config("executable_config") {
|
|
# GDB cannot find the executable's mapping in QEMU when PIE is enabled.
|
|
if (is_qemu) {
|
|
cflags = [ "-fno-pie" ]
|
|
ldflags = [ "-no-pie" ]
|
|
} else if (current_cpu != "x86") {
|
|
cflags = [ "-fPIE" ]
|
|
ldflags = [ "-pie" ]
|
|
}
|
|
}
|