summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF64.h
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF64.h')
-rw-r--r--lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF64.h209
1 files changed, 0 insertions, 209 deletions
diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF64.h b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF64.h
deleted file mode 100644
index 939c78a3997..00000000000
--- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF64.h
+++ /dev/null
@@ -1,209 +0,0 @@
-//===-- ObjectFileELF64.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_ObjectFileELF64_h_
-#define liblldb_ObjectFileELF64_h_
-
-#include <stdint.h>
-#include <vector>
-
-#include "lldb/lldb-private.h"
-#include "lldb/Core/FileSpec.h"
-#include "lldb/Symbol/ObjectFile.h"
-
-#include "elf.h"
-
-//----------------------------------------------------------------------
-// This class needs to be hidden as eventually belongs in a plugin that
-// will export the ObjectFile protocol
-//----------------------------------------------------------------------
-class ObjectFileELF64 :
- public lldb_private::ObjectFile
-{
-public:
- //------------------------------------------------------------------
- // Static Functions
- //------------------------------------------------------------------
- static void
- Initialize();
-
- static void
- Terminate();
-
- static const char *
- GetPluginNameStatic();
-
- static const char *
- GetPluginDescriptionStatic();
-
- static lldb_private::ObjectFile *
- CreateInstance(lldb_private::Module* module,
- lldb::DataBufferSP& dataSP,
- const lldb_private::FileSpec* file,
- lldb::addr_t offset,
- lldb::addr_t length);
-
- static bool
- MagicBytesMatch(lldb::DataBufferSP& dataSP);
-
- //------------------------------------------------------------------
- // Member Functions
- //------------------------------------------------------------------
- ObjectFileELF64(lldb_private::Module* module,
- lldb::DataBufferSP& dataSP,
- const lldb_private::FileSpec* file,
- lldb::addr_t offset,
- lldb::addr_t length);
-
- virtual
- ~ObjectFileELF64();
-
- virtual bool
- ParseHeader();
-
- virtual lldb::ByteOrder
- GetByteOrder() const;
-
- virtual size_t
- GetAddressByteSize() const;
-
- virtual lldb_private::Symtab *
- GetSymtab();
-
- virtual lldb_private::SectionList *
- GetSectionList();
-
- virtual void
- Dump(lldb_private::Stream *s);
-
- virtual bool
- GetTargetTriple(lldb_private::ConstString &target_triple);
-
- virtual bool
- GetUUID(lldb_private::UUID* uuid);
-
- virtual uint32_t
- GetDependentModules(lldb_private::FileSpecList& files);
-
- //------------------------------------------------------------------
- // PluginInterface protocol
- //------------------------------------------------------------------
- virtual const char *
- GetPluginName();
-
- virtual const char *
- GetShortPluginName();
-
- virtual uint32_t
- GetPluginVersion();
-
- virtual void
- GetPluginCommandHelp(const char *command, lldb_private::Stream *strm);
-
- virtual lldb_private::Error
- ExecutePluginCommand(lldb_private::Args &command,
- lldb_private::Stream *strm);
-
- virtual lldb_private::Log *
- EnablePluginLogging(lldb_private::Stream *strm,
- lldb_private::Args &command);
-
-protected:
- typedef std::vector<Elf64_Phdr> ProgramHeaderColl;
- typedef ProgramHeaderColl::iterator ProgramHeaderCollIter;
- typedef ProgramHeaderColl::const_iterator ProgramHeaderCollConstIter;
-
- typedef std::vector<Elf64_Shdr> SectionHeaderColl;
- typedef SectionHeaderColl::iterator SectionHeaderCollIter;
- typedef SectionHeaderColl::const_iterator SectionHeaderCollConstIter;
-
- Elf64_Ehdr m_header;
- ProgramHeaderColl m_program_headers;
- SectionHeaderColl m_section_headers;
- mutable std::auto_ptr<lldb_private::SectionList> m_sections_ap;
- mutable std::auto_ptr<lldb_private::Symtab> m_symtab_ap;
- mutable std::auto_ptr<lldb_private::FileSpecList> m_filespec_ap;
- lldb_private::DataExtractor m_shstr_data;
-
- size_t
- ParseSections();
-
- size_t
- ParseSymtab(bool minimize);
-
-private:
- // Returns the 1 based index of a section header.
- unsigned
- SectionIndex(const SectionHeaderCollIter &I);
-
- unsigned
- SectionIndex(const SectionHeaderCollConstIter &I) const;
-
- // ELF header dump routines
- static void
- DumpELFHeader(lldb_private::Stream *s, const Elf64_Ehdr& header);
-
- static void
- DumpELFHeader_e_ident_EI_DATA(lldb_private::Stream *s,
- unsigned char ei_data);
-
- static void
- DumpELFHeader_e_type(lldb_private::Stream *s, Elf64_Half e_type);
-
- // ELF program header dump routines
- void
- DumpELFProgramHeaders(lldb_private::Stream *s);
-
- static void
- DumpELFProgramHeader(lldb_private::Stream *s, const Elf64_Phdr &ph);
-
- static void
- DumpELFProgramHeader_p_type(lldb_private::Stream *s, Elf64_Word p_type);
-
- static void
- DumpELFProgramHeader_p_flags(lldb_private::Stream *s, Elf64_Word p_flags);
-
- // ELF section header dump routines
- void
- DumpELFSectionHeaders(lldb_private::Stream *s);
-
- static void
- DumpELFSectionHeader(lldb_private::Stream *s, const Elf64_Shdr& sh);
-
- static void
- DumpELFSectionHeader_sh_type(lldb_private::Stream *s, Elf64_Word sh_type);
-
- static void
- DumpELFSectionHeader_sh_flags(lldb_private::Stream *s, Elf64_Word sh_flags);
-
- void
- DumpDependentModules(lldb_private::Stream *s);
-
- size_t
- ParseProgramHeaders();
-
- size_t
- ParseSectionHeaders();
-
- size_t
- ParseDependentModules();
-
- void
- ParseSymbolTable(lldb_private::Symtab *symbol_table,
- const Elf64_Shdr &symtab_section,
- lldb::user_id_t symtab_id);
-
- size_t
- GetSectionHeaderStringTable();
-
- uint32_t
- GetSectionIndexByName(const char *name);
-};
-
-#endif // #ifndef liblldb_ObjectFileELF64_h_
OpenPOWER on IntegriCloud