From c1f30e581793f8db889b6fad0c3860f163f4afa2 Mon Sep 17 00:00:00 2001 From: Arthur Eubanks Date: Wed, 9 Dec 2020 11:51:00 -0800 Subject: [PATCH] [gn build] Add symbol_level to adjust debug info level is_debug by default makes symbol_level = 2 and !is_debug means by default symbol_level = 0. Reviewed By: thakis Differential Revision: https://reviews.llvm.org/D92958 --- llvm/utils/gn/build/BUILD.gn | 11 +++++++++-- llvm/utils/gn/build/buildflags.gni | 7 +++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/llvm/utils/gn/build/BUILD.gn b/llvm/utils/gn/build/BUILD.gn index a8f4f073de39..49caf447d019 100644 --- a/llvm/utils/gn/build/BUILD.gn +++ b/llvm/utils/gn/build/BUILD.gn @@ -72,9 +72,13 @@ config("compiler_defaults") { ldflags += [ "-mmacosx-version-min=10.10" ] } + assert(symbol_level == 0 || symbol_level == 1 || symbol_level == 2, + "Unexpected symbol_level") if (host_os != "win") { - if (is_debug) { + if (symbol_level == 2) { cflags += [ "-g" ] + } else if (symbol_level == 1) { + cflags += [ "-g1" ] } if (is_optimized) { cflags += [ "-O3" ] @@ -88,11 +92,14 @@ config("compiler_defaults") { "-fvisibility-inlines-hidden", ] } else { - if (is_debug) { + if (symbol_level != 0) { cflags += [ "/Zi", "/FS", ] + if (symbol_level == 1 && is_clang) { + cflags += [ "-gline-tables-only" ] + } ldflags += [ "/DEBUG" ] # Speed up links with ghash on windows. diff --git a/llvm/utils/gn/build/buildflags.gni b/llvm/utils/gn/build/buildflags.gni index 9ad494a3c1e9..e6d7ca1806a9 100644 --- a/llvm/utils/gn/build/buildflags.gni +++ b/llvm/utils/gn/build/buildflags.gni @@ -28,4 +28,11 @@ declare_args() { declare_args() { # Whether to build with optimizations. is_optimized = !is_debug + + # Debug info symbol level. + if (is_debug) { + symbol_level = 2 + } else { + symbol_level = 0 + } } -- 2.34.1