From 500e1e1c98b8b5126cda9956506dd17ff6d2918f Mon Sep 17 00:00:00 2001 From: Mirko Bonadei Date: Tue, 4 Jun 2024 11:35:54 +0000 Subject: [PATCH] Import config.gni from partition_alloc.gni's build_override. The file base/allocator/partition_allocator/partition_alloc.gni reads the variable is_cronet_build, which is defined by the cronet.gni file. Removing the import and relying on the transitive import from another .gni file, makes it brittle (e.g. in this case it breaks WebRTC's bots). Bug: b/344727254 Change-Id: If6c537e934ae4b2243eb104a4b867b49f5d10cca Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/353540 Reviewed-by: Jeremy Leconte Commit-Queue: Mirko Bonadei Cr-Commit-Position: refs/heads/main@{#42431} --- build_overrides/partition_alloc.gni | 33 +++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/build_overrides/partition_alloc.gni b/build_overrides/partition_alloc.gni index 981d6d146a..3f674f8e58 100644 --- a/build_overrides/partition_alloc.gni +++ b/build_overrides/partition_alloc.gni @@ -6,9 +6,34 @@ # in the file PATENTS. All contributing project authors may # be found in the AUTHORS file in the root of the source tree. -# Use default values for PartitionAlloc as standalone library from -# base/allocator/partition_allocator/build_overrides/partition_alloc.gni -import( - "//base/allocator/partition_allocator/build_overrides/partition_alloc.gni") +# Dependencies from //build defining variables used by partition_alloc. +import("//build/config/android/config.gni") +import("//build/config/cast.gni") +import("//build/config/chromeos/ui_mode.gni") +import("//build/config/compiler/compiler.gni") +import("//build/config/cronet/config.gni") +import("//build/config/dcheck_always_on.gni") +import("//build/config/logging.gni") +partition_alloc_enable_arc_config = "//build/config/compiler:enable_arc" +# partition_alloc is performance critical and it should generally be optimized +# for speed, even in debug mode. WebRTC doesn't really need its debug version. +partition_alloc_remove_configs = + [ "//build/config/compiler:default_optimization" ] +partition_alloc_add_configs = [ "//build/config/compiler:optimize_speed" ] + +# Disable partition_alloc for WebRTC standalone builds. +use_partition_alloc_as_malloc_default = false +use_allocator_shim_default = false +enable_backup_ref_ptr_support_default = false +enable_backup_ref_ptr_slow_checks_default = false +enable_dangling_raw_ptr_checks_default = false + +# raw_ptr behave like naked pointers, except they are always initialized. This +# avoids relying on undefined behaviors. +raw_ptr_zero_on_construct_default = true +raw_ptr_zero_on_move_default = true +raw_ptr_zero_on_destruct_default = false + +# WebRTC used C++20 by default: assert_cpp20_default = true