mirror of
https://git.proxmox.com/git/llvm-toolchain
synced 2025-06-13 04:13:48 +00:00
56 lines
2.0 KiB
Diff
56 lines
2.0 KiB
Diff
Index: source/Utility/Makefile
|
|
===================================================================
|
|
--- source/Utility/Makefile (revision 169766)
|
|
+++ source/Utility/Makefile (revision 169767)
|
|
@@ -12,4 +12,11 @@
|
|
BUILD_ARCHIVE = 1
|
|
NO_PEDANTIC = 1
|
|
|
|
+# Enable RTTI on GCC builds because liblldbCore.a requires RTTI.
|
|
+# See source/Core/Makefile for details.
|
|
+ifeq (g++,$(shell basename $(CXX)))
|
|
+ REQUIRES_RTTI = 1
|
|
+endif
|
|
+
|
|
+
|
|
include $(LLDB_LEVEL)/Makefile
|
|
Index: source/Core/Makefile
|
|
===================================================================
|
|
--- source/Core/Makefile (revision 169766)
|
|
+++ source/Core/Makefile (revision 169767)
|
|
@@ -11,4 +11,15 @@
|
|
LIBRARYNAME := lldbCore
|
|
BUILD_ARCHIVE = 1
|
|
|
|
+# Enable RTTI on GCC builds because one source file in this directory
|
|
+# (cxa_demangle.cpp) uses dynamic_cast<> and GCC (at least 4.6 and 4.7)
|
|
+# complain if we try to compile it with -fno-rtti. This is somewhat of a
|
|
+# kludge because it forces us to enable RTTI in liblldbUtility.a and also
|
|
+# link in additional clang static libraries to resolve vtable references,
|
|
+# but actually has negligible impact on (shard object) file size.
|
|
+$(info shell basename CXX is $(shell basename $(CXX)))
|
|
+ifeq (g++,$(shell basename $(CXX)))
|
|
+ REQUIRES_RTTI = 1
|
|
+endif
|
|
+
|
|
include $(LLDB_LEVEL)/Makefile
|
|
Index: lib/Makefile
|
|
===================================================================
|
|
--- lib/Makefile (revision 169766)
|
|
+++ lib/Makefile (revision 169767)
|
|
@@ -67,6 +67,14 @@
|
|
lldbPluginPlatformLinux.a \
|
|
lldbPluginPlatformFreeBSD.a
|
|
|
|
+# Because GCC requires RTTI enabled for lldbCore (see source/Core/Makefile) it is
|
|
+# necessary to also link the clang rewriter libraries so vtable references can
|
|
+# be resolved correctly, if we are building with GCC.
|
|
+ifeq (g++,$(shell basename $(CXX)))
|
|
+ USEDLIBS += clangRewriteCore.a \
|
|
+ clangRewriteFrontend.a
|
|
+endif
|
|
+
|
|
include $(LLDB_LEVEL)/../../Makefile.config
|
|
|
|
LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter codegen \
|