mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-10-25 10:27:04 +00:00
libLTO: Add a utility method to initialize the disassemblers.
Necessary to give disassembler users (like darwin's otool) a possibility to dlopen libLTO and still initialize the required LLVM bits. This used to go through libMCDisassembler but that's a gross layering violation, the MC layer can't pull in functions from the targets. Adding a function to libLTO is a bit of a hack but not worse than exposing other disassembler bits from libLTO. Fixes PR14362. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168545 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -6,6 +6,7 @@ add_definitions( -DLLVM_VERSION_INFO=\"${PACKAGE_VERSION}\" )
|
||||
|
||||
set(SOURCES
|
||||
LTOCodeGenerator.cpp
|
||||
LTODisassembler.cpp
|
||||
lto.cpp
|
||||
LTOModule.cpp
|
||||
)
|
||||
|
||||
26
tools/lto/LTODisassembler.cpp
Normal file
26
tools/lto/LTODisassembler.cpp
Normal file
@@ -0,0 +1,26 @@
|
||||
//===-- LTODisassembler.cpp - LTO Disassembler interface ------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// This function provides utility methods used by clients of libLTO that want
|
||||
// to use the disassembler.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "llvm-c/lto.h"
|
||||
#include "llvm/Support/TargetSelect.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
void lto_initialize_disassembler() {
|
||||
// Initialize targets and assembly printers/parsers.
|
||||
llvm::InitializeAllTargetInfos();
|
||||
llvm::InitializeAllTargetMCs();
|
||||
llvm::InitializeAllAsmParsers();
|
||||
llvm::InitializeAllDisassemblers();
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
lto_get_error_message
|
||||
lto_get_version
|
||||
lto_initialize_disassembler
|
||||
lto_module_create
|
||||
lto_module_create_from_fd
|
||||
lto_module_create_from_fd_at_offset
|
||||
|
||||
Reference in New Issue
Block a user