dart-sdk/build
Ryan Macnak e31c3713bf Reland "[build, vm] Access TLS with less code."
- Avoid TLS initialization checks by using inline initialization.
 - Avoid global offset table indirection by reducing -fPIC to -fPIE.

out/ReleaseXARM64/exe.stripped/dart_precompiled_runtime
11137992 -> 11274776 (-1.21%)

We still need -fPIC in some places because we build a few shared libraries for FFI, so copy some of Fuchsia's GN setup to use -fPIE or -fPIC as appropriate.

Account for older gcc that does not default to -fpie.

TEST=ci
Bug: https://github.com/dart-lang/sdk/issues/51602
Change-Id: I85072153cb1aef9047c1adbf36c7496fbeb11e10
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/286221
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-03-02 23:07:16 +00:00
..
config Reland "[build, vm] Access TLS with less code." 2023-03-02 23:07:16 +00:00
dart [dart2wasm] Build product snapshot when building for the SDK. 2022-10-26 17:04:17 +00:00
fuchsia Roll Fuchsia SDK to 7b3b23b2c0da59b3aceab6c49fbe7d9ed34d7382. 2023-02-09 22:43:36 +00:00
linux [infra] Support for Alpine Linux Sysroot 2023-01-19 10:36:51 +00:00
mac Spelling build 2023-01-23 08:56:14 +00:00
rust
sanitizers Spelling build 2023-01-23 08:56:14 +00:00
secondary [VM] Add dependencies needed to generate protozero code 2023-01-26 16:07:22 +00:00
toolchain Revert "Reland "Reland "[dart2wasm] Include wasm-opt in the shipped dart-sdk.""" 2023-02-17 09:04:50 +00:00
.gitignore [infra] Support for Alpine Linux Sysroot 2023-01-19 10:36:51 +00:00
detect_host_arch.py
executable_suffix.gni
find_depot_tools.py [infra] Update windows build and toolchain setup python scripts. 2022-08-03 16:30:56 +00:00
gn_helpers.py
gn_run_binary.py [build] Make app snapshot build failures copy/pastable. 2021-10-14 11:51:32 +00:00
OWNERS [infra] Give VM engineers OWNERS over tools/gn.py et al. 2022-04-25 17:47:23 +00:00
README.dart.md
vs_toolchain.py [infra] Update windows build and toolchain setup python scripts. 2022-08-03 16:30:56 +00:00

This directory was taken from a snapshot of flutter/engine/src/build/.

The snapshot was taken with a recursive copy cp -R of the directory from the flutter repository.

The contents has now diverged significantly from Flutter, and is maintained independently by the Dart team. It is used to support the GN build system.