[PATCH] D92958: [gn build] Add symbol_level to adjust debug info level

Arthur Eubanks via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 16 21:29:45 PST 2020


aeubanks updated this revision to Diff 312374.
aeubanks added a comment.

use /Zi and -gline-tables-only


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D92958/new/

https://reviews.llvm.org/D92958

Files:
  llvm/utils/gn/build/BUILD.gn
  llvm/utils/gn/build/buildflags.gni


Index: llvm/utils/gn/build/buildflags.gni
===================================================================
--- llvm/utils/gn/build/buildflags.gni
+++ llvm/utils/gn/build/buildflags.gni
@@ -28,4 +28,11 @@
 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
+  }
 }
Index: llvm/utils/gn/build/BUILD.gn
===================================================================
--- llvm/utils/gn/build/BUILD.gn
+++ llvm/utils/gn/build/BUILD.gn
@@ -72,9 +72,13 @@
     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 @@
       "-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.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D92958.312374.patch
Type: text/x-patch
Size: 1355 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201217/4417b06a/attachment.bin>


More information about the llvm-commits mailing list