Added a bare-bones Makefile to build the enhanced disassembly
library as a static and a shared library. Added dependencies so the target-specific enhanced disassembly info tables are built before the library. llvm-svn: 94780
This commit is contained in:
parent
9d1e666af0
commit
2444ed4fea
|
@ -21,7 +21,8 @@ PARALLEL_DIRS := opt llvm-as llvm-dis \
|
|||
llvm-ld llvm-prof llvm-link \
|
||||
lli llvm-extract \
|
||||
bugpoint llvm-bcanalyzer llvm-stub \
|
||||
llvm-mc llvmc
|
||||
llvm-mc llvmc \
|
||||
ed
|
||||
|
||||
# Let users override the set of tools to build from the command line.
|
||||
ifdef ONLY_TOOLS
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
//===-EDMain.cpp - LLVM Enhanced Disassembly C API ------------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// This file implements the enhanced disassembler's public C API.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include <llvm-c/EnhancedDisassembly.h>
|
||||
|
||||
int EDGetDisassembler(EDDisassemblerRef *disassembler,
|
||||
const char *triple,
|
||||
EDAssemblySyntax_t syntax) {
|
||||
return -1;
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
_EDGetDisassembler
|
||||
_EDGetRegisterName
|
||||
_EDRegisterIsStackPointer
|
||||
_EDRegisterIsProgramCounter
|
||||
_EDCreateInsts
|
||||
_EDReleaseInst
|
||||
_EDInstByteSize
|
||||
_EDGetInstString
|
||||
_EDInstIsBranch
|
||||
_EDInstIsMove
|
||||
_EDBranchTargetID
|
||||
_EDMoveSourceID
|
||||
_EDMoveTargetID
|
||||
_EDNumTokens
|
||||
_EDGetToken
|
||||
_EDGetTokenString
|
||||
_EDOperandIndexForToken
|
||||
_EDTokenIsWhitespace
|
||||
_EDTokenIsPunctuation
|
||||
_EDTokenIsOpcode
|
||||
_EDTokenIsLiteral
|
||||
_EDTokenIsRegister
|
||||
_EDTokenIsNegativeLiteral
|
||||
_EDLiteralTokenAbsoluteValue
|
||||
_EDRegisterTokenValue
|
||||
_EDNumOperands
|
||||
_EDGetOperand
|
||||
_EDEvaluateOperand
|
||||
_EDBlockCreateInsts
|
||||
_EDBlockEvaluateOperand
|
||||
_EDBlockVisitTokens
|
|
@ -0,0 +1,55 @@
|
|||
##===- tools/ed/Makefile -----------------------------------*- Makefile -*-===##
|
||||
#
|
||||
# The LLVM Compiler Infrastructure
|
||||
#
|
||||
# This file is distributed under the University of Illinois Open Source
|
||||
# License. See LICENSE.TXT for details.
|
||||
#
|
||||
##===----------------------------------------------------------------------===##
|
||||
|
||||
LEVEL = ../..
|
||||
LIBRARYNAME = EnhancedDisassembly
|
||||
|
||||
BUILT_SOURCES = EDInfo.inc
|
||||
|
||||
# Include this here so we can get the configuration of the targets
|
||||
# that have been configured for construction. We have to do this
|
||||
# early so we can set up LINK_COMPONENTS before including Makefile.rules
|
||||
include $(LEVEL)/Makefile.config
|
||||
|
||||
LINK_LIBS_IN_SHARED = 1
|
||||
SHARED_LIBRARY = 1
|
||||
|
||||
LINK_COMPONENTS := $(TARGETS_TO_BUILD) x86asmprinter x86disassembler
|
||||
|
||||
include $(LEVEL)/Makefile.common
|
||||
|
||||
ifeq ($(HOST_OS),Darwin)
|
||||
# set dylib internal version number to llvmCore submission number
|
||||
ifdef LLVM_SUBMIT_VERSION
|
||||
LLVMLibsOptions := $(LLVMLibsOptions) -Wl,-current_version \
|
||||
-Wl,$(LLVM_SUBMIT_VERSION).$(LLVM_SUBMIT_SUBVERSION) \
|
||||
-Wl,-compatibility_version -Wl,1
|
||||
endif
|
||||
# extra options to override libtool defaults
|
||||
LLVMLibsOptions := $(LLVMLibsOptions) \
|
||||
-avoid-version \
|
||||
-Wl,-exported_symbols_list -Wl,$(PROJ_SRC_DIR)/EnhancedDisassembly.exports \
|
||||
-Wl,-dead_strip \
|
||||
-Wl,-seg1addr -Wl,0xE0000000
|
||||
|
||||
# Mac OS X 10.4 and earlier tools do not allow a second -install_name on command line
|
||||
DARWIN_VERS := $(shell echo $(TARGET_TRIPLE) | sed 's/.*darwin\([0-9]*\).*/\1/')
|
||||
ifneq ($(DARWIN_VERS),8)
|
||||
LLVMLibsOptions := $(LLVMLibsOptions) \
|
||||
-no-undefined -Wl,-install_name \
|
||||
-Wl,"@executable_path/../lib/lib$(LIBRARYNAME)$(SHLIBEXT)"
|
||||
endif
|
||||
endif
|
||||
|
||||
EDInfo.inc: $(TBLGEN)
|
||||
$(Echo) "Building semantic information header"
|
||||
$(Verb) $(TableGen) -o $(call SYSPATH, $@) -gen-enhanced-disassembly-header /dev/null
|
||||
|
||||
clean::
|
||||
-$(Verb) $(RM) -f EDInfo.inc
|
Loading…
Reference in New Issue