mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-12-22 02:21:37 +00:00
Move DIContext.h to common DebugInfo location.
This will enable us to create a PDBContext so as to expose some amount of debug info functionality through a common interace. Differential Revision: http://reviews.llvm.org/D9205 Reviewed by: Alexey Samsonov git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235612 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -113,25 +113,16 @@ enum DIDumpType {
|
||||
DIDT_AppleObjC
|
||||
};
|
||||
|
||||
// In place of applying the relocations to the data we've read from disk we use
|
||||
// a separate mapping table to the side and checking that at locations in the
|
||||
// dwarf where we expect relocated values. This adds a bit of complexity to the
|
||||
// dwarf parsing/extraction at the benefit of not allocating memory for the
|
||||
// entire size of the debug info sections.
|
||||
typedef DenseMap<uint64_t, std::pair<uint8_t, int64_t> > RelocAddrMap;
|
||||
|
||||
class DIContext {
|
||||
public:
|
||||
enum DIContextKind {
|
||||
CK_DWARF
|
||||
CK_DWARF,
|
||||
CK_PDB
|
||||
};
|
||||
DIContextKind getKind() const { return Kind; }
|
||||
|
||||
DIContext(DIContextKind K) : Kind(K) {}
|
||||
virtual ~DIContext();
|
||||
|
||||
/// getDWARFContext - get a context for binary DWARF data.
|
||||
static DIContext *getDWARFContext(const object::ObjectFile &Obj);
|
||||
virtual ~DIContext() {}
|
||||
|
||||
virtual void dump(raw_ostream &OS, DIDumpType DumpType = DIDT_All) = 0;
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
#include "llvm/ADT/MapVector.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/DebugInfo/DWARF/DIContext.h"
|
||||
#include "llvm/DebugInfo/DIContext.h"
|
||||
#include "llvm/DebugInfo/DWARF/DWARFCompileUnit.h"
|
||||
#include "llvm/DebugInfo/DWARF/DWARFDebugAranges.h"
|
||||
#include "llvm/DebugInfo/DWARF/DWARFDebugFrame.h"
|
||||
@@ -25,6 +25,13 @@
|
||||
|
||||
namespace llvm {
|
||||
|
||||
// In place of applying the relocations to the data we've read from disk we use
|
||||
// a separate mapping table to the side and checking that at locations in the
|
||||
// dwarf where we expect relocated values. This adds a bit of complexity to the
|
||||
// dwarf parsing/extraction at the benefit of not allocating memory for the
|
||||
// entire size of the debug info sections.
|
||||
typedef DenseMap<uint64_t, std::pair<uint8_t, int64_t> > RelocAddrMap;
|
||||
|
||||
/// DWARFContext
|
||||
/// This data structure is the top level entity that deals with dwarf debug
|
||||
/// information parsing. The actual data is supplied through pure virtual
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#define LLVM_LIB_DEBUGINFO_DWARFDEBUGINFOENTRY_H
|
||||
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/DebugInfo/DWARF/DIContext.h"
|
||||
#include "llvm/DebugInfo/DIContext.h"
|
||||
#include "llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h"
|
||||
#include "llvm/DebugInfo/DWARF/DWARFDebugRangeList.h"
|
||||
#include "llvm/Support/DataTypes.h"
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
#ifndef LLVM_LIB_DEBUGINFO_DWARFDEBUGLINE_H
|
||||
#define LLVM_LIB_DEBUGINFO_DWARFDEBUGLINE_H
|
||||
|
||||
#include "llvm/DebugInfo/DWARF/DIContext.h"
|
||||
#include "llvm/DebugInfo/DIContext.h"
|
||||
#include "llvm/DebugInfo/DWARF/DWARFRelocMap.h"
|
||||
#include "llvm/Support/DataExtractor.h"
|
||||
#include <map>
|
||||
|
||||
Reference in New Issue
Block a user