diff options
Diffstat (limited to 'lib/MC')
-rw-r--r-- | lib/MC/Android.mk | 73 | ||||
-rw-r--r-- | lib/MC/MCAssembler.cpp | 10 | ||||
-rw-r--r-- | lib/MC/MCDisassembler/Android.mk | 15 | ||||
-rw-r--r-- | lib/MC/MCParser/Android.mk | 38 |
4 files changed, 134 insertions, 2 deletions
diff --git a/lib/MC/Android.mk b/lib/MC/Android.mk new file mode 100644 index 0000000..6c69ca2 --- /dev/null +++ b/lib/MC/Android.mk @@ -0,0 +1,73 @@ +LOCAL_PATH:= $(call my-dir) + +mc_SRC_FILES := \ + ELFObjectWriter.cpp \ + MachObjectWriter.cpp \ + MCAsmBackend.cpp \ + MCAsmInfo.cpp \ + MCAsmInfoCOFF.cpp \ + MCAsmInfoDarwin.cpp \ + MCAsmStreamer.cpp \ + MCAssembler.cpp \ + MCCodeEmitter.cpp \ + MCCodeGenInfo.cpp \ + MCContext.cpp \ + MCDisassembler.cpp \ + MCDwarf.cpp \ + MCELF.cpp \ + MCELFObjectTargetWriter.cpp \ + MCELFStreamer.cpp \ + MCExpr.cpp \ + MCExternalSymbolizer.cpp \ + MCInst.cpp \ + MCInstPrinter.cpp \ + MCInstrAnalysis.cpp \ + MCLabel.cpp \ + MCMachObjectTargetWriter.cpp \ + MCMachOStreamer.cpp \ + MCNullStreamer.cpp \ + MCObjectFileInfo.cpp \ + MCObjectStreamer.cpp \ + MCObjectWriter.cpp \ + MCRegisterInfo.cpp \ + MCRelocationInfo.cpp \ + MCSection.cpp \ + MCSectionCOFF.cpp \ + MCSectionELF.cpp \ + MCSectionMachO.cpp \ + MCStreamer.cpp \ + MCSubtargetInfo.cpp \ + MCSymbol.cpp \ + MCSymbolizer.cpp \ + MCValue.cpp \ + MCWin64EH.cpp \ + WinCOFFObjectWriter.cpp \ + WinCOFFStreamer.cpp \ + SubtargetFeature.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(mc_SRC_FILES) + +LOCAL_MODULE:= libLLVMMC + +LOCAL_MODULE_TAGS := optional + + +include $(LLVM_HOST_BUILD_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(mc_SRC_FILES) + +LOCAL_MODULE:= libLLVMMC + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(BUILD_STATIC_LIBRARY) diff --git a/lib/MC/MCAssembler.cpp b/lib/MC/MCAssembler.cpp index 68111f1..21dcdd7 100644 --- a/lib/MC/MCAssembler.cpp +++ b/lib/MC/MCAssembler.cpp @@ -212,7 +212,8 @@ MCFragment::~MCFragment() { } MCFragment::MCFragment(FragmentType _Kind, MCSectionData *_Parent) - : Kind(_Kind), Parent(_Parent), Atom(0), Offset(~UINT64_C(0)) + : Kind(_Kind), Parent(_Parent), Atom(0), Offset(~UINT64_C(0)), + LayoutOrder(~(0U)) { if (Parent) Parent->getFragmentList().push_back(this); @@ -293,7 +294,7 @@ MCSymbolData::MCSymbolData(const MCSymbol &_Symbol, MCFragment *_Fragment, MCAssembler::MCAssembler(MCContext &Context_, MCAsmBackend &Backend_, MCCodeEmitter &Emitter_, MCObjectWriter &Writer_, raw_ostream &OS_) - : Context(Context_), Backend(Backend_), Emitter(Emitter_), Writer(Writer_), + : Context(Context_), Backend(Backend_), Emitter(Emitter_), Writer(&Writer_), OS(OS_), BundleAlignSize(0), RelaxAll(false), NoExecStack(false), SubsectionsViaSymbols(false), ELFHeaderEFlags(0) { } @@ -301,6 +302,11 @@ MCAssembler::MCAssembler(MCContext &Context_, MCAsmBackend &Backend_, MCAssembler::~MCAssembler() { } +void MCAssembler::setWriter(MCObjectWriter &ObjectWriter) { + delete Writer; + Writer = &ObjectWriter; +} + void MCAssembler::reset() { Sections.clear(); Symbols.clear(); diff --git a/lib/MC/MCDisassembler/Android.mk b/lib/MC/MCDisassembler/Android.mk new file mode 100644 index 0000000..7f73df3 --- /dev/null +++ b/lib/MC/MCDisassembler/Android.mk @@ -0,0 +1,15 @@ +LOCAL_PATH:= $(call my-dir) + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + Disassembler.cpp + +LOCAL_MODULE:= libLLVMMCDisassembler + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/MC/MCParser/Android.mk b/lib/MC/MCParser/Android.mk new file mode 100644 index 0000000..c6045d1 --- /dev/null +++ b/lib/MC/MCParser/Android.mk @@ -0,0 +1,38 @@ +LOCAL_PATH:= $(call my-dir) + +mc_parser_SRC_FILES := \ + AsmLexer.cpp \ + AsmParser.cpp \ + COFFAsmParser.cpp \ + DarwinAsmParser.cpp \ + ELFAsmParser.cpp \ + MCAsmLexer.cpp \ + MCAsmParser.cpp \ + MCAsmParserExtension.cpp \ + MCTargetAsmParser.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(mc_parser_SRC_FILES) + +LOCAL_MODULE:= libLLVMMCParser + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(mc_parser_SRC_FILES) + +LOCAL_MODULE:= libLLVMMCParser + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(BUILD_STATIC_LIBRARY) |