I suppose you also want to apply this patch, to remove them from the Xcode project file ;-)<div><br></div><div>Regards,</div><div><br></div><div>  Filipe</div><div class="gmail_extra"><br clear="all"><div>  F<br></div><br>

<br><br><div class="gmail_quote">On Thu, Dec 13, 2012 at 5:29 PM, Sean Callanan <span dir="ltr"><<a href="mailto:scallanan@apple.com" target="_blank">scallanan@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Author: spyffe<br>
Date: Thu Dec 13 19:29:59 2012<br>
New Revision: 170171<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=170171&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=170171&view=rev</a><br>
Log:<br>
Rmoved the old LLVM disassembler based on libedis.<br>
<br>
Removed:<br>
    lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVM.cpp<br>
    lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVM.h<br>
Modified:<br>
    lldb/trunk/source/lldb.cpp<br>
<br>
Removed: lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVM.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVM.cpp?rev=170170&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVM.cpp?rev=170170&view=auto</a><br>

==============================================================================<br>
--- lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVM.cpp (original)<br>
+++ lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVM.cpp (removed)<br>
@@ -1,529 +0,0 @@<br>
-//===-- DisassemblerLLVM.cpp ------------------------------------*- C++ -*-===//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#include "DisassemblerLLVM.h"<br>
-<br>
-#include "llvm-c/EnhancedDisassembly.h"<br>
-#include "llvm/Support/TargetSelect.h"<br>
-<br>
-#include "lldb/Core/Address.h"<br>
-#include "lldb/Core/DataExtractor.h"<br>
-#include "lldb/Core/Disassembler.h"<br>
-#include "lldb/Core/Module.h"<br>
-#include "lldb/Core/PluginManager.h"<br>
-#include "lldb/Core/Stream.h"<br>
-#include "lldb/Core/StreamString.h"<br>
-#include "lldb/Symbol/SymbolContext.h"<br>
-<br>
-#include "lldb/Target/ExecutionContext.h"<br>
-#include "lldb/Target/Process.h"<br>
-#include "lldb/Target/RegisterContext.h"<br>
-#include "lldb/Target/Target.h"<br>
-<br>
-#include <assert.h><br>
-<br>
-using namespace lldb;<br>
-using namespace lldb_private;<br>
-<br>
-<br>
-static int<br>
-DataExtractorByteReader (uint8_t *byte, uint64_t address, void *arg)<br>
-{<br>
-    DataExtractor &extractor = *((DataExtractor *)arg);<br>
-<br>
-    if (extractor.ValidOffset(address))<br>
-    {<br>
-        *byte = *(extractor.GetDataStart() + address);<br>
-        return 0;<br>
-    }<br>
-    else<br>
-    {<br>
-        return -1;<br>
-    }<br>
-}<br>
-<br>
-namespace {<br>
-    struct RegisterReaderArg {<br>
-        const lldb::addr_t instructionPointer;<br>
-        const EDDisassemblerRef disassembler;<br>
-<br>
-        RegisterReaderArg(lldb::addr_t ip,<br>
-                          EDDisassemblerRef dis) :<br>
-            instructionPointer(ip),<br>
-            disassembler(dis)<br>
-        {<br>
-        }<br>
-    };<br>
-}<br>
-<br>
-static int IPRegisterReader(uint64_t *value, unsigned regID, void* arg)<br>
-{<br>
-    uint64_t instructionPointer = ((RegisterReaderArg*)arg)->instructionPointer;<br>
-    EDDisassemblerRef disassembler = ((RegisterReaderArg*)arg)->disassembler;<br>
-<br>
-    if (EDRegisterIsProgramCounter(disassembler, regID)) {<br>
-        *value = instructionPointer;<br>
-        return 0;<br>
-    }<br>
-<br>
-    return -1;<br>
-}<br>
-<br>
-InstructionLLVM::InstructionLLVM (const Address &addr,<br>
-                                  AddressClass addr_class,<br>
-                                  EDDisassemblerRef disassembler,<br>
-                                  llvm::Triple::ArchType arch_type) :<br>
-    Instruction (addr, addr_class),<br>
-    m_disassembler (disassembler),<br>
-    m_inst (NULL),<br>
-    m_arch_type (arch_type)<br>
-{<br>
-}<br>
-<br>
-InstructionLLVM::~InstructionLLVM()<br>
-{<br>
-    if (m_inst)<br>
-    {<br>
-        EDReleaseInst(m_inst);<br>
-        m_inst = NULL;<br>
-    }<br>
-}<br>
-<br>
-static void<br>
-PadString(Stream *s, const std::string &str, size_t width)<br>
-{<br>
-    int diff = width - str.length();<br>
-<br>
-    if (diff > 0)<br>
-        s->Printf("%s%*.*s", str.c_str(), diff, diff, "");<br>
-    else<br>
-        s->Printf("%s ", str.c_str());<br>
-}<br>
-static void<br>
-AddSymbolicInfo (const ExecutionContext *exe_ctx,<br>
-                 StreamString &comment,<br>
-                 uint64_t operand_value,<br>
-                 const Address &inst_addr)<br>
-{<br>
-    Address so_addr;<br>
-    Target *target = NULL;<br>
-    if (exe_ctx)<br>
-        target = exe_ctx->GetTargetPtr();<br>
-    if (target && !target->GetSectionLoadList().IsEmpty())<br>
-    {<br>
-        if (target->GetSectionLoadList().ResolveLoadAddress(operand_value, so_addr))<br>
-            so_addr.Dump (&comment,<br>
-                          exe_ctx ? exe_ctx->GetBestExecutionContextScope() : NULL,<br>
-                          Address::DumpStyleResolvedDescriptionNoModule,<br>
-                          Address::DumpStyleSectionNameOffset);<br>
-    }<br>
-    else<br>
-    {<br>
-        ModuleSP module_sp (inst_addr.GetModule());<br>
-        if (module_sp)<br>
-        {<br>
-            if (module_sp->ResolveFileAddress(operand_value, so_addr))<br>
-                so_addr.Dump (&comment,<br>
-                              exe_ctx ? exe_ctx->GetBestExecutionContextScope() : NULL,<br>
-                              Address::DumpStyleResolvedDescriptionNoModule,<br>
-                              Address::DumpStyleSectionNameOffset);<br>
-        }<br>
-    }<br>
-}<br>
-<br>
-#include "llvm/ADT/StringRef.h"<br>
-static inline void StripSpaces(llvm::StringRef &Str)<br>
-{<br>
-    while (!Str.empty() && isspace(Str[0]))<br>
-        Str = Str.substr(1);<br>
-    while (!Str.empty() && isspace(Str.back()))<br>
-        Str = Str.substr(0, Str.size()-1);<br>
-}<br>
-static inline void RStrip(llvm::StringRef &Str, char c)<br>
-{<br>
-    if (!Str.empty() && Str.back() == c)<br>
-        Str = Str.substr(0, Str.size()-1);<br>
-}<br>
-// Aligns the raw disassembly (passed as 'str') with the rest of edis'ed disassembly output.<br>
-// This is called from non-raw mode when edis of the current m_inst fails for some reason.<br>
-static void<br>
-Align(Stream *s, const char *str, size_t opcodeColWidth, size_t operandColWidth)<br>
-{<br>
-    llvm::StringRef raw_disasm(str);<br>
-    StripSpaces(raw_disasm);<br>
-    // Split the raw disassembly into opcode and operands.<br>
-    std::pair<llvm::StringRef, llvm::StringRef> p = raw_disasm.split('\t');<br>
-    PadString(s, p.first, opcodeColWidth);<br>
-    if (!p.second.empty())<br>
-        PadString(s, p.second, operandColWidth);<br>
-}<br>
-<br>
-#define AlignPC(pc_val) (pc_val & 0xFFFFFFFC)<br>
-<br>
-void<br>
-InstructionLLVM::CalculateMnemonicOperandsAndComment (const ExecutionContext* exe_ctx)<br>
-{<br>
-    const int num_tokens = EDNumTokens(m_inst);<br>
-    if (num_tokens > 0)<br>
-    {<br>
-        const char *token_cstr = NULL;<br>
-        int currentOpIndex = -1;<br>
-        StreamString comment;<br>
-        uint32_t addr_nibble_size = 8;<br>
-        addr_t base_addr = LLDB_INVALID_ADDRESS;<br>
-        Target *target = exe_ctx ? exe_ctx->GetTargetPtr() : NULL;<br>
-        if (target)<br>
-        {<br>
-            addr_nibble_size = target->GetArchitecture().GetAddressByteSize() * 2;<br>
-            if (!target->GetSectionLoadList().IsEmpty())<br>
-                base_addr = GetAddress().GetLoadAddress (target);<br>
-        }<br>
-<br>
-        if (base_addr == LLDB_INVALID_ADDRESS)<br>
-            base_addr = GetAddress().GetFileAddress ();<br>
-<br>
-        lldb::addr_t PC = base_addr + EDInstByteSize(m_inst);<br>
-<br>
-        // When executing an ARM instruction, PC reads as the address of the<br>
-        // current instruction plus 8.  And for Thumb, it is plus 4.<br>
-        if (m_arch_type == llvm::Triple::arm)<br>
-            PC = base_addr + 8;<br>
-        else if (m_arch_type == llvm::Triple::thumb)<br>
-            PC = base_addr + 4;<br>
-<br>
-        RegisterReaderArg rra(PC, m_disassembler);<br>
-<br>
-        for (int token_idx = 0; token_idx < num_tokens; ++token_idx)<br>
-        {<br>
-            EDTokenRef token;<br>
-            if (EDGetToken(&token, m_inst, token_idx))<br>
-                break;<br>
-<br>
-            if (EDTokenIsOpcode(token) == 1)<br>
-            {<br>
-                if (EDGetTokenString(&token_cstr, token) == 0) // 0 on success<br>
-                {<br>
-                    if (token_cstr)<br>
-                    m_opcode_name.assign(token_cstr);<br>
-                }<br>
-            }<br>
-            else<br>
-            {<br>
-                int operandIndex = EDOperandIndexForToken(token);<br>
-<br>
-                if (operandIndex >= 0)<br>
-                {<br>
-                    if (operandIndex != currentOpIndex)<br>
-                    {<br>
-                        currentOpIndex = operandIndex;<br>
-                        EDOperandRef operand;<br>
-<br>
-                        if (!EDGetOperand(&operand, m_inst, currentOpIndex))<br>
-                        {<br>
-                            if (EDOperandIsMemory(operand))<br>
-                            {<br>
-                                uint64_t operand_value;<br>
-<br>
-                                if (!EDEvaluateOperand(&operand_value, operand, IPRegisterReader, &rra))<br>
-                                {<br>
-                                    comment.Printf("0x%*.*" PRIx64 " ", addr_nibble_size, addr_nibble_size, operand_value);<br>
-                                    AddSymbolicInfo (exe_ctx, comment, operand_value, GetAddress());<br>
-                                }<br>
-                            }<br>
-                        }<br>
-                    }<br>
-                }<br>
-                if (m_mnemocics.empty() && EDTokenIsWhitespace (token) == 1)<br>
-                    continue;<br>
-                if (EDGetTokenString (&token_cstr, token))<br>
-                    break;<br>
-                m_mnemocics.append (token_cstr);<br>
-            }<br>
-        }<br>
-        // FIXME!!!<br>
-        // Workaround for llvm::tB's operands not properly parsed by ARMAsmParser.<br>
-        if (m_arch_type == llvm::Triple::thumb && m_opcode_name.compare("b") == 0)<br>
-        {<br>
-            const char *inst_str;<br>
-            const char *pos = NULL;<br>
-            comment.Clear();<br>
-            if (EDGetInstString(&inst_str, m_inst) == 0 && (pos = strstr(inst_str, "#")) != NULL)<br>
-            {<br>
-                uint64_t operand_value = PC + atoi(++pos);<br>
-                // Put the address value into the operands.<br>
-                comment.Printf("0x%*.*" PRIx64 " ", addr_nibble_size, addr_nibble_size, operand_value);<br>
-                AddSymbolicInfo (exe_ctx, comment, operand_value, GetAddress());<br>
-            }<br>
-        }<br>
-        // Yet more workaround for "bl #..." and "blx #...".<br>
-        if ((m_arch_type == llvm::Triple::arm || m_arch_type == llvm::Triple::thumb) &&<br>
-            (m_opcode_name.compare("bl") == 0 || m_opcode_name.compare("blx") == 0))<br>
-        {<br>
-            const char *inst_str;<br>
-            const char *pos = NULL;<br>
-            comment.Clear();<br>
-            if (EDGetInstString(&inst_str, m_inst) == 0 && (pos = strstr(inst_str, "#")) != NULL)<br>
-            {<br>
-                if (m_arch_type == llvm::Triple::thumb && m_opcode_name.compare("blx") == 0)<br>
-                {<br>
-                    // A8.6.23 BLX (immediate)<br>
-                    // Target Address = Align(PC,4) + offset value<br>
-                    PC = AlignPC(PC);<br>
-                }<br>
-                uint64_t operand_value = PC + atoi(++pos);<br>
-                // Put the address value into the comment.<br>
-                comment.Printf("0x%*.*" PRIx64 " ", addr_nibble_size, addr_nibble_size, operand_value);<br>
-                // And the original token string into the operands.<br>
-//                llvm::StringRef Str(pos - 1);<br>
-//                RStrip(Str, '\n');<br>
-//                operands.PutCString(Str.str().c_str());<br>
-                AddSymbolicInfo (exe_ctx, comment, operand_value, GetAddress());<br>
-            }<br>
-        }<br>
-        // END of workaround.<br>
-<br>
-        m_comment.swap (comment.GetString());<br>
-    }<br>
-}<br>
-<br>
-bool<br>
-InstructionLLVM::DoesBranch() const<br>
-{<br>
-    return EDInstIsBranch(m_inst);<br>
-}<br>
-<br>
-size_t<br>
-InstructionLLVM::Decode (const Disassembler &disassembler,<br>
-                         const lldb_private::DataExtractor &data,<br>
-                         uint32_t data_offset)<br>
-{<br>
-    if (EDCreateInsts(&m_inst, 1, m_disassembler, DataExtractorByteReader, data_offset, (void*)(&data)))<br>
-    {<br>
-        const int byte_size = EDInstByteSize(m_inst);<br>
-        uint32_t offset = data_offset;<br>
-        // Make a copy of the opcode in m_opcode<br>
-        switch (disassembler.GetArchitecture().GetMachine())<br>
-        {<br>
-        case llvm::Triple::x86:<br>
-        case llvm::Triple::x86_64:<br>
-            m_opcode.SetOpcodeBytes (data.PeekData (data_offset, byte_size), byte_size);<br>
-            break;<br>
-<br>
-        case llvm::Triple::arm:<br>
-        case llvm::Triple::thumb:<br>
-            switch (byte_size)<br>
-            {<br>
-            case 2:<br>
-                m_opcode.SetOpcode16 (data.GetU16 (&offset));<br>
-                break;<br>
-<br>
-            case 4:<br>
-                {<br>
-                if (GetAddressClass() ==  eAddressClassCodeAlternateISA)<br>
-                {<br>
-                    // If it is a 32-bit THUMB instruction, we need to swap the upper & lower halves.<br>
-                    uint32_t orig_bytes = data.GetU32 (&offset);<br>
-                    uint16_t upper_bits = (orig_bytes >> 16) & ((1u << 16) - 1);<br>
-                    uint16_t lower_bits = orig_bytes & ((1u << 16) - 1);<br>
-                    uint32_t swapped = (lower_bits << 16) | upper_bits;<br>
-                    m_opcode.SetOpcode32 (swapped);<br>
-                }<br>
-                else<br>
-                    m_opcode.SetOpcode32 (data.GetU32 (&offset));<br>
-                }<br>
-                break;<br>
-<br>
-            default:<br>
-                assert (!"Invalid ARM opcode size");<br>
-                break;<br>
-            }<br>
-            break;<br>
-<br>
-        default:<br>
-            assert (!"This shouldn't happen since we control the architecture we allow DisassemblerLLVM to be created for");<br>
-            break;<br>
-        }<br>
-        return byte_size;<br>
-    }<br>
-    else<br>
-        return 0;<br>
-}<br>
-<br>
-static inline EDAssemblySyntax_t<br>
-SyntaxForArchSpec (const ArchSpec &arch)<br>
-{<br>
-    switch (arch.GetMachine ())<br>
-    {<br>
-    case llvm::Triple::x86:<br>
-    case llvm::Triple::x86_64:<br>
-        return kEDAssemblySyntaxX86ATT;<br>
-    case llvm::Triple::arm:<br>
-    case llvm::Triple::thumb:<br>
-        return kEDAssemblySyntaxARMUAL;<br>
-    default:<br>
-        break;<br>
-    }<br>
-    return (EDAssemblySyntax_t)0;   // default<br>
-}<br>
-<br>
-Disassembler *<br>
-DisassemblerLLVM::CreateInstance(const ArchSpec &arch)<br>
-{<br>
-    std::auto_ptr<DisassemblerLLVM> disasm_ap (new DisassemblerLLVM(arch));<br>
-<br>
-    if (disasm_ap.get() && disasm_ap->IsValid())<br>
-        return disasm_ap.release();<br>
-<br>
-    return NULL;<br>
-}<br>
-<br>
-DisassemblerLLVM::DisassemblerLLVM(const ArchSpec &arch) :<br>
-    Disassembler (arch),<br>
-    m_disassembler (NULL),<br>
-    m_disassembler_thumb (NULL) // For ARM only<br>
-{<br>
-    // Initialize the LLVM objects needed to use the disassembler.<br>
-    static struct InitializeLLVM {<br>
-        InitializeLLVM() {<br>
-            llvm::InitializeAllTargetInfos();<br>
-            llvm::InitializeAllTargetMCs();<br>
-            llvm::InitializeAllAsmParsers();<br>
-            llvm::InitializeAllDisassemblers();<br>
-        }<br>
-    } InitializeLLVM;<br>
-<br>
-    const std::string &arch_triple = arch.GetTriple().str();<br>
-    if (!arch_triple.empty())<br>
-    {<br>
-        if (EDGetDisassembler(&m_disassembler, arch_triple.c_str(), SyntaxForArchSpec (arch)))<br>
-            m_disassembler = NULL;<br>
-        llvm::Triple::ArchType llvm_arch = arch.GetTriple().getArch();<br>
-               // Don't have the lldb::Triple::thumb architecture here. If someone specifies<br>
-               // "thumb" as the architecture, we want a thumb only disassembler. But if any<br>
-               // architecture starting with "arm" if specified, we want to auto detect the<br>
-               // arm/thumb code automatically using the AddressClass from section offset<br>
-               // addresses.<br>
-        if (llvm_arch == llvm::Triple::arm)<br>
-        {<br>
-            ArchSpec thumb_arch(arch);<br>
-            thumb_arch.GetTriple().setArchName(llvm::StringRef("thumbv7"));<br>
-            std::string thumb_triple(thumb_arch.GetTriple().getTriple());<br>
-            if (EDGetDisassembler(&m_disassembler_thumb, thumb_triple.c_str(), kEDAssemblySyntaxARMUAL))<br>
-                m_disassembler_thumb = NULL;<br>
-        }<br>
-    }<br>
-}<br>
-<br>
-DisassemblerLLVM::~DisassemblerLLVM()<br>
-{<br>
-}<br>
-<br>
-size_t<br>
-DisassemblerLLVM::DecodeInstructions<br>
-(<br>
-    const Address &base_addr,<br>
-    const DataExtractor& data,<br>
-    uint32_t data_offset,<br>
-    uint32_t num_instructions,<br>
-    bool append<br>
-)<br>
-{<br>
-    if (m_disassembler == NULL)<br>
-        return 0;<br>
-<br>
-    size_t total_inst_byte_size = 0;<br>
-<br>
-    if (!append)<br>
-        m_instruction_list.Clear();<br>
-<br>
-    while (data.ValidOffset(data_offset) && num_instructions)<br>
-    {<br>
-        Address inst_addr (base_addr);<br>
-        inst_addr.Slide(data_offset);<br>
-<br>
-        bool use_thumb = false;<br>
-        // If we have a thumb disassembler, then we have an ARM architecture<br>
-        // so we need to check what the instruction address class is to make<br>
-        // sure we shouldn't be disassembling as thumb...<br>
-        AddressClass inst_address_class = eAddressClassInvalid;<br>
-        if (m_disassembler_thumb)<br>
-        {<br>
-            inst_address_class = inst_addr.GetAddressClass ();<br>
-            if (inst_address_class == eAddressClassCodeAlternateISA)<br>
-                use_thumb = true;<br>
-        }<br>
-<br>
-        InstructionSP inst_sp (new InstructionLLVM (inst_addr,<br>
-                                                    inst_address_class,<br>
-                                                    use_thumb ? m_disassembler_thumb : m_disassembler,<br>
-                                                    use_thumb ? llvm::Triple::thumb : m_arch.GetMachine()));<br>
-<br>
-        size_t inst_byte_size = inst_sp->Decode (*this, data, data_offset);<br>
-<br>
-        if (inst_byte_size == 0)<br>
-            break;<br>
-<br>
-        m_instruction_list.Append (inst_sp);<br>
-<br>
-        total_inst_byte_size += inst_byte_size;<br>
-        data_offset += inst_byte_size;<br>
-        num_instructions--;<br>
-    }<br>
-<br>
-    return total_inst_byte_size;<br>
-}<br>
-<br>
-void<br>
-DisassemblerLLVM::Initialize()<br>
-{<br>
-    PluginManager::RegisterPlugin (GetPluginNameStatic(),<br>
-                                   GetPluginDescriptionStatic(),<br>
-                                   CreateInstance);<br>
-}<br>
-<br>
-void<br>
-DisassemblerLLVM::Terminate()<br>
-{<br>
-    PluginManager::UnregisterPlugin (CreateInstance);<br>
-}<br>
-<br>
-<br>
-const char *<br>
-DisassemblerLLVM::GetPluginNameStatic()<br>
-{<br>
-    return "llvm-edis";<br>
-}<br>
-<br>
-const char *<br>
-DisassemblerLLVM::GetPluginDescriptionStatic()<br>
-{<br>
-    return "Disassembler that uses the LLVM enhanced disassembler to disassemble i386, x86_64 and ARM.";<br>
-}<br>
-<br>
-//------------------------------------------------------------------<br>
-// PluginInterface protocol<br>
-//------------------------------------------------------------------<br>
-const char *<br>
-DisassemblerLLVM::GetPluginName()<br>
-{<br>
-    return "DisassemblerLLVM";<br>
-}<br>
-<br>
-const char *<br>
-DisassemblerLLVM::GetShortPluginName()<br>
-{<br>
-    return GetPluginNameStatic();<br>
-}<br>
-<br>
-uint32_t<br>
-DisassemblerLLVM::GetPluginVersion()<br>
-{<br>
-    return 1;<br>
-}<br>
-<br>
<br>
Removed: lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVM.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVM.h?rev=170170&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVM.h?rev=170170&view=auto</a><br>

==============================================================================<br>
--- lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVM.h (original)<br>
+++ lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVM.h (removed)<br>
@@ -1,105 +0,0 @@<br>
-//===-- DisassemblerLLVM.h --------------------------------------*- C++ -*-===//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#ifndef liblldb_DisassemblerLLVM_h_<br>
-#define liblldb_DisassemblerLLVM_h_<br>
-<br>
-<br>
-#include "llvm-c/EnhancedDisassembly.h"<br>
-<br>
-#include "lldb/Core/Disassembler.h"<br>
-#include "lldb/Host/Mutex.h"<br>
-<br>
-class InstructionLLVM : public lldb_private::Instruction<br>
-{<br>
-public:<br>
-    InstructionLLVM (const lldb_private::Address &addr,<br>
-                     lldb::AddressClass addr_class,<br>
-                     EDDisassemblerRef disassembler,<br>
-                     llvm::Triple::ArchType arch_type);<br>
-<br>
-    virtual<br>
-    ~InstructionLLVM();<br>
-<br>
-    virtual bool<br>
-    DoesBranch () const;<br>
-<br>
-    virtual size_t<br>
-    Decode (const lldb_private::Disassembler &disassembler,<br>
-            const lldb_private::DataExtractor &data,<br>
-            uint32_t data_offset);<br>
-<br>
-    virtual void<br>
-    CalculateMnemonicOperandsAndComment (const lldb_private::ExecutionContext* exe_ctx);<br>
-<br>
-protected:<br>
-    EDDisassemblerRef m_disassembler;<br>
-    EDInstRef m_inst;<br>
-    llvm::Triple::ArchType m_arch_type;<br>
-};<br>
-<br>
-<br>
-class DisassemblerLLVM : public lldb_private::Disassembler<br>
-{<br>
-public:<br>
-    //------------------------------------------------------------------<br>
-    // Static Functions<br>
-    //------------------------------------------------------------------<br>
-    static void<br>
-    Initialize();<br>
-<br>
-    static void<br>
-    Terminate();<br>
-<br>
-    static const char *<br>
-    GetPluginNameStatic();<br>
-<br>
-    static const char *<br>
-    GetPluginDescriptionStatic();<br>
-<br>
-    static lldb_private::Disassembler *<br>
-    CreateInstance(const lldb_private::ArchSpec &arch);<br>
-<br>
-<br>
-    DisassemblerLLVM(const lldb_private::ArchSpec &arch);<br>
-<br>
-    virtual<br>
-    ~DisassemblerLLVM();<br>
-<br>
-    size_t<br>
-    DecodeInstructions (const lldb_private::Address &base_addr,<br>
-                        const lldb_private::DataExtractor& data,<br>
-                        uint32_t data_offset,<br>
-                        uint32_t num_instructions,<br>
-                        bool append);<br>
-<br>
-    //------------------------------------------------------------------<br>
-    // PluginInterface protocol<br>
-    //------------------------------------------------------------------<br>
-    virtual const char *<br>
-    GetPluginName();<br>
-<br>
-    virtual const char *<br>
-    GetShortPluginName();<br>
-<br>
-    virtual uint32_t<br>
-    GetPluginVersion();<br>
-<br>
-protected:<br>
-    bool<br>
-    IsValid() const<br>
-    {<br>
-        return m_disassembler != NULL;<br>
-    }<br>
-<br>
-    EDDisassemblerRef m_disassembler;<br>
-    EDDisassemblerRef m_disassembler_thumb;<br>
-};<br>
-<br>
-#endif  // liblldb_DisassemblerLLVM_h_<br>
<br>
Modified: lldb/trunk/source/lldb.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/source/lldb.cpp?rev=170171&r1=170170&r2=170171&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/lldb/trunk/source/lldb.cpp?rev=170171&r1=170170&r2=170171&view=diff</a><br>

==============================================================================<br>
--- lldb/trunk/source/lldb.cpp (original)<br>
+++ lldb/trunk/source/lldb.cpp Thu Dec 13 19:29:59 2012<br>
@@ -27,7 +27,6 @@<br>
 #include "Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h"<br>
 #include "Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.h"<br>
 #include "Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h"<br>
-#include "Plugins/Disassembler/llvm/DisassemblerLLVM.h"<br>
 #include "Plugins/Disassembler/llvm/DisassemblerLLVMC.h"<br>
 #include "Plugins/Instruction/ARM/EmulateInstructionARM.h"<br>
 #include "Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.h"<br>
@@ -98,7 +97,6 @@<br>
         ABIMacOSX_arm::Initialize();<br>
         ABISysV_x86_64::Initialize();<br>
         DisassemblerLLVMC::Initialize();<br>
-        DisassemblerLLVM::Initialize();<br>
         ObjectContainerBSDArchive::Initialize();<br>
         ObjectFileELF::Initialize();<br>
         SymbolFileDWARF::Initialize();<br>
@@ -179,7 +177,6 @@<br>
     ABIMacOSX_arm::Terminate();<br>
     ABISysV_x86_64::Terminate();<br>
     DisassemblerLLVMC::Terminate();<br>
-    DisassemblerLLVM::Terminate();<br>
     ObjectContainerBSDArchive::Terminate();<br>
     ObjectFileELF::Terminate();<br>
     SymbolFileDWARF::Terminate();<br>
<br>
<br>
_______________________________________________<br>
lldb-commits mailing list<br>
<a href="mailto:lldb-commits@cs.uiuc.edu">lldb-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits</a><br>
</blockquote></div><br></div>