[Lldb-commits] [lldb] r170171 - in /lldb/trunk/source: Plugins/Disassembler/llvm/DisassemblerLLVM.cpp Plugins/Disassembler/llvm/DisassemblerLLVM.h lldb.cpp

Filipe Cabecinhas filcab at gmail.com
Fri Dec 14 12:30:04 PST 2012


I suppose you also want to apply this patch, to remove them from the Xcode
project file ;-)

Regards,

  Filipe

  F



On Thu, Dec 13, 2012 at 5:29 PM, Sean Callanan <scallanan at apple.com> wrote:

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


More information about the lldb-commits mailing list