mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-29 08:31:13 +00:00
Enable RTTI for liblldbCore.a when GCC is the compiler
- gcc does not like -fno-rtti mixed with dynamic_cast<> (in cxa_demangle.cpp) llvm-svn: 169767
This commit is contained in:
parent
7352e4ffcb
commit
48b917bceb
@ -67,6 +67,14 @@ USEDLIBS = lldbAPI.a \
|
||||
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 \
|
||||
|
@ -11,4 +11,15 @@ LLDB_LEVEL := ../..
|
||||
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
|
||||
|
@ -12,4 +12,11 @@ LIBRARYNAME := lldbUtility
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user