commit | 4711ca616db541b49146e18b485c20876680c570 | [log] [tgz] |
---|---|---|
author | Jose Dapena Paz <jdapena@igalia.com> | Tue Mar 19 10:23:29 2024 |
committer | Copybara-Service <copybara-worker@google.com> | Tue Mar 19 10:44:41 2024 |
tree | 0c342b3c326bd48c00ef54206917324cf351af7c | |
parent | 6c37c9c91cdfaa6c06f7a3d237f13cf5bbd09385 [diff] |
libstdc++: make hardening assertions configurable from GN args The current implementation for enabling libstdc++ hardening assertions is done using build_overrides.gni. This is problematic as it breaks other dependencies using //build/ as they will require also an specific argument for that purpose. Replace it with a GN arg, use_safe_libcxx, that uses same heuristic (Linux without custom libc++), but can be set from command line. This is because we cannot accurately know if libstdc++ is used, so we want to still allow to enable the assertions. Bug: 328287875 Change-Id: I27cf09a13af638cfc5e82bce5e3fa7391512c59c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5348001 Reviewed-by: Philipp Wollermann <philwo@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: José Dapena Paz <jdapena@igalia.com> Cr-Commit-Position: refs/heads/main@{#1274804} NOKEYCHECK=True GitOrigin-RevId: d1579bf7a849c3b2d99e268a4a84ff0ae8068fa5
//build
contains:
Since this directory is DEPS'ed in by some other repositories (webrtc, pdfium, v8, etc), it should be kept as self-contained as possible by not referring to files outside of it. Some exceptions exist (//testing
, select //third_party
subdirectories), but new dependencies tend to break these other projects, and so should be avoided.
Changes to //build
should be landed in the Chromium repo. They will then be replicated to the stand-alone build repo by the gsubtreed tool. Note: You can find all directories already available through gsubtreed in the list of all chromium repos.
//build/config
- Common templates via .gni
files.//build/toolchain
- GN toolchain definitions.Other .py files
- Some are used by GN/Ninja. Some by gclient hooks, some are just random utilities.Files referenced by //.gn
:
//build/BUILDCONFIG.gn
- Included by all BUILD.gn
files.//build/secondary
- An overlay for BUILD.gn
files. Enables adding BUILD.gn
to directories that live in sub-repositories.//build_overrides
- Refer to //build_overrides/README.md.