diff options
author | Sean Callanan <scallanan@apple.com> | 2010-01-29 01:30:01 +0000 |
---|---|---|
committer | Sean Callanan <scallanan@apple.com> | 2010-01-29 01:30:01 +0000 |
commit | bd51cdd0676ac7793a9bd3362a64bcf3168b15f7 (patch) | |
tree | 036966914fb8d0db2f2fe09ee9c5b4330db598fb /tools | |
parent | a78def96803f4f690ab7015b6b308004e9b2c8dd (diff) | |
download | external_llvm-bd51cdd0676ac7793a9bd3362a64bcf3168b15f7.zip external_llvm-bd51cdd0676ac7793a9bd3362a64bcf3168b15f7.tar.gz external_llvm-bd51cdd0676ac7793a9bd3362a64bcf3168b15f7.tar.bz2 |
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94780 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r-- | tools/Makefile | 3 | ||||
-rw-r--r-- | tools/ed/EDMain.cpp | 20 | ||||
-rw-r--r-- | tools/ed/EnhancedDisassembly.exports | 31 | ||||
-rw-r--r-- | tools/ed/Makefile | 55 |
4 files changed, 108 insertions, 1 deletions
diff --git a/tools/Makefile b/tools/Makefile index 0340c7f..459be4e 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -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 diff --git a/tools/ed/EDMain.cpp b/tools/ed/EDMain.cpp new file mode 100644 index 0000000..69285f3 --- /dev/null +++ b/tools/ed/EDMain.cpp @@ -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; +} diff --git a/tools/ed/EnhancedDisassembly.exports b/tools/ed/EnhancedDisassembly.exports new file mode 100644 index 0000000..63738e5 --- /dev/null +++ b/tools/ed/EnhancedDisassembly.exports @@ -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 diff --git a/tools/ed/Makefile b/tools/ed/Makefile new file mode 100644 index 0000000..a3c5879 --- /dev/null +++ b/tools/ed/Makefile @@ -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 |