diff options
author | Eli Bendersky <eliben@google.com> | 2013-02-05 23:30:58 +0000 |
---|---|---|
committer | Eli Bendersky <eliben@google.com> | 2013-02-05 23:30:58 +0000 |
commit | fd08bc195b36b2262f9ee4b283eef44b0520ebed (patch) | |
tree | bfb11acd87390b21186a1ddd4de22a3649c349bd /llvm/lib/DebugInfo/DWARFDebugFrame.h | |
parent | 12547bc76c08fc938dd11c09e06beb9ac43f9691 (diff) | |
download | bcm5719-llvm-fd08bc195b36b2262f9ee4b283eef44b0520ebed.tar.gz bcm5719-llvm-fd08bc195b36b2262f9ee4b283eef44b0520ebed.zip |
Initial support for DWARF CFI parsing and dumping in LLVM
llvm-svn: 174463
Diffstat (limited to 'llvm/lib/DebugInfo/DWARFDebugFrame.h')
-rw-r--r-- | llvm/lib/DebugInfo/DWARFDebugFrame.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/llvm/lib/DebugInfo/DWARFDebugFrame.h b/llvm/lib/DebugInfo/DWARFDebugFrame.h new file mode 100644 index 00000000000..48b8d63a5a6 --- /dev/null +++ b/llvm/lib/DebugInfo/DWARFDebugFrame.h @@ -0,0 +1,46 @@ +//===-- DWARFDebugFrame.h - Parsing of .debug_frame -------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_DEBUGINFO_DWARFDEBUGFRAME_H +#define LLVM_DEBUGINFO_DWARFDEBUGFRAME_H + +#include "llvm/Support/DataExtractor.h" +#include "llvm/Support/raw_ostream.h" +#include <vector> + + +namespace llvm { + +class FrameEntry; + + +/// \brief A parsed .debug_frame section +/// +class DWARFDebugFrame { +public: + DWARFDebugFrame(); + ~DWARFDebugFrame(); + + /// \brief Dump the section data into the given stream. + void dump(raw_ostream &OS) const; + + /// \brief Parse the section from raw data. + /// data is assumed to be pointing to the beginning of the section. + void parse(DataExtractor Data); + +private: + typedef std::vector<FrameEntry *> EntryVector; + EntryVector Entries; +}; + + +} // namespace llvm + +#endif + |