commit | 4c4d92a7b0b3234944188077dddb961a9f34dcd3 | [log] [tgz] |
---|---|---|
author | Paul Semel <paulsemel@chromium.org> | Thu Jun 29 13:52:17 2023 |
committer | Copybara-Service <copybara-worker@google.com> | Thu Jun 29 14:00:24 2023 |
tree | 8dba18838c833396b499f15dfe7670ac61eb60e2 | |
parent | a24f9fc1dbabebe9d83ff96dc10639093fc7a31c [diff] |
Enable DPD by default on linux debug builds This patch aims at default enabling DPD on linux debug builds. The goal is to provide developers instant feedback on whether their code might trigger dangling pointers, and potentially avoid them running into the issue on the CQ. This first CL only enables the dangling pointers feature but DPD will not trigger since the feature flag will still be disabled by default. Bug: 1449923 Change-Id: Iaee0c3377c4d8078d528be75bb6499ecce3c7b6b Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4574382 Commit-Queue: Paul Semel <paulsemel@chromium.org> Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Cr-Commit-Position: refs/heads/main@{#1164084} NOKEYCHECK=True GitOrigin-RevId: 67d96e707b50cbb624a6d92f3eba7c87097a8c98
This directory is used to allow different products to customize settings for repos that are DEPS'ed in or shared.
For example: V8 could be built on its own (in a “standalone” configuration), and it could be built as part of Chromium. V8 might define a top-level target, //v8:d8 (a simple executable), that should only be built in the standalone configuration. To figure out whether or not it should be in a standalone configuration, v8 can create a file, build_overrides/v8.gni, that contains a variable, build_standalone_d8 = true
. and import it (as import(“//build_overrides/v8.gni”) from its top-level BUILD.gn file.
Chromium, on the other hand, might not need to build d8, and so it would create its own build_overrides/v8.gni file, and in it set build_standalone_d8 = false
.
The two files should define the same set of variables, but the values can vary as appropriate to the needs of the two different builds.
The build.gni file provides a way for projects to override defaults for variables used in //build itself (which we want to be shareable between projects).
TODO(crbug.com/588513): Ideally //build_overrides and, in particular, //build_overrides/build.gni should go away completely in favor of some mechanism that can re-use other required files like //.gn, so that we don't have to keep requiring projects to create a bunch of different files to use GN.