Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(53)

Unified Diff: build/config/compiler/compiler.gni

Issue 2547963002: [Chromecast] Use symbol_level=1 for 32-bit GCC toolchains.
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/config/compiler/compiler.gni
diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni
index e88318f88a763ef64b43d60df73aa4f112d8660f..fb8b69aa3964d170b524222eb8fd2a43d4a13921 100644
--- a/build/config/compiler/compiler.gni
+++ b/build/config/compiler/compiler.gni
@@ -93,6 +93,13 @@ if (symbol_level == -1) {
# memory consumption and link times unsustainable (crbug.com/630074).
# Clang on windows does not have this issue.
symbol_level = 1
+ } else if (is_chromecast && !is_clang && !is_component_build &&
+ target_cpu != "x64" && target_cpu != "arm64") {
+ # When using a 32-bit GCC toolchain for a non-component build, build
+ # artifacts exceed 4GB in size if full symbols are used. For this
+ # scenario, use symbol_level=1. More long term solutions are discussed here:
+ # https://crbug.com/670776.
+ symbol_level = 1
Dirk Pranke 2016/12/02 22:43:45 It looks like you're hitting the same limitation A
} else if (!is_linux || is_debug || is_official_build || is_chromecast) {
# Linux is slowed by having symbols as part of the target binary, whereas
# Mac and Windows have them separate, so in Release Linux, default them off,
@@ -106,6 +113,14 @@ if (symbol_level == -1) {
}
}
+# Assert that the configuration isn't going to hit https://crbug.com/670776.
+assert(!is_chromecast || is_clang || is_component_build ||
+ target_cpu == "x64" || target_cpu == "arm64" || symbol_level < 2,
+ "Chromecast builds using a 32-bit GCC toolchain cannot use " +
+ "symbol_level=2 for a non-component build. Consider using a clang " +
+ "toolchain or setting is_component_build=true. See " +
+ "crbug.com/670776 for more details.")
+
# Assert that the configuration isn't going to hit https://crbug.com/648948.
assert(ignore_elf32_limitations || !is_android ||
(android_64bit_target_cpu && !build_apk_secondary_abi) ||
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698