This patch causes the --enable-debug-runtime configure flag and the
authorJeffrey Yasskin <jyasskin@google.com>
Fri, 25 Sep 2009 16:46:09 +0000 (16:46 +0000)
committerJeffrey Yasskin <jyasskin@google.com>
Fri, 25 Sep 2009 16:46:09 +0000 (16:46 +0000)
DEBUG_RUNTIME Makefile variable to pass -g to gcc when building LLVM's objects.
Without this, it's very hard to debug crashes that happen in Release-Asserts
mode but not Debug mode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82775 91177308-0d34-0410-b5e6-96231b3b80d8

Makefile.rules
docs/MakefileGuide.html

index 6cc4bd3cf3bbe4dd7dbf3eef34d98f5cb916708d..48cb690be285f6aadd473874848cac0c8fbe6658 100644 (file)
@@ -313,6 +313,13 @@ ifeq ($(ENABLE_OPTIMIZED),1)
   CXX.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer)
   C.Flags   += $(OPTIMIZE_OPTION) $(OmitFramePointer)
   LD.Flags  += $(OPTIMIZE_OPTION)
+  ifdef DEBUG_RUNTIME
+    BuildMode := $(BuildMode)+Debug
+    CXX.Flags += -g
+    C.Flags   += -g
+    LD.Flags  += -g
+    KEEP_SYMBOLS := 1
+  endif
 else
   BuildMode := Debug
   CXX.Flags += -g
index f996144e145372156f5e0d5b7acef8bfecc98864..8e552484abe14d80c47b8b0dba98646448aeb70e 100644 (file)
     <dd>If set to any value, causes a bitcode library (.bc) to be built.</dd>
     <dt><a name="CONFIG_FILES"><tt>CONFIG_FILES</tt></a></dt>
     <dd>Specifies a set of configuration files to be installed.</dd>
+    <dt><a name="DEBUG_RUNTIME"><tt>DEBUG_RUNTIME</tt></a></dt>
+    <dd>If set to any value, causes the build to include debugging
+    symbols even in optimized objects, libraries and executables. This
+    alters the flags specified to the compilers and linkers. Debugging
+    isn't fun in an optimized build, but it is possible.</dd>
     <dt><a name="DIRS"><tt>DIRS</tt></a></dt>
     <dd>Specifies a set of directories, usually children of the current
     directory, that should also be made using the same goal. These directories