diff options
author | Jeffrey Yasskin <jyasskin@google.com> | 2009-09-25 16:46:09 +0000 |
---|---|---|
committer | Jeffrey Yasskin <jyasskin@google.com> | 2009-09-25 16:46:09 +0000 |
commit | d448292104a1ae72c5ec5d0f925691f57f6a13ee (patch) | |
tree | b1e67e5facc6e2860b831e58e3996577ec729776 | |
parent | c8ce2d4cb9ef5ff8b3c574e522c870741d88ba58 (diff) |
This patch causes the --enable-debug-runtime configure flag and the
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
-rw-r--r-- | Makefile.rules | 7 | ||||
-rw-r--r-- | docs/MakefileGuide.html | 5 |
2 files changed, 12 insertions, 0 deletions
diff --git a/Makefile.rules b/Makefile.rules index 6cc4bd3cf3..48cb690be2 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -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 diff --git a/docs/MakefileGuide.html b/docs/MakefileGuide.html index f996144e14..8e552484ab 100644 --- a/docs/MakefileGuide.html +++ b/docs/MakefileGuide.html @@ -626,6 +626,11 @@ <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 |