|
LLVM 24.0.0git
|
An entry in either debug_frame or eh_frame. More...
#include "llvm/DebugInfo/DWARF/DWARFDebugFrame.h"
Public Types | |
| enum | FrameKind { FK_CIE , FK_FDE } |
Public Member Functions | |
| FrameEntry (FrameKind K, bool IsDWARF64, uint64_t Offset, uint64_t Length, uint64_t CodeAlign, int64_t DataAlign, Triple::ArchType Arch) | |
| virtual | ~FrameEntry ()=default |
| FrameKind | getKind () const |
| uint64_t | getOffset () const |
| uint64_t | getLength () const |
| const CFIProgram & | cfis () const |
| CFIProgram & | cfis () |
| std::optional< uint64_t > | getUnparsedCFIStartOffset () const |
| If using lazily parsed CFIs, this returns the section offset where the unparsed CFIs start so user can parse them on-demand through the CFIProgram parsing interface cfis().parse(Data, ..., getEndOffset()). | |
| void | markCFIProgramUnparsed (uint64_t StartOffset) |
| void | markCFIProgramParsed () |
| uint64_t | getEndOffset () const |
| virtual void | dump (raw_ostream &OS, DIDumpOptions DumpOpts) const =0 |
| Dump the instructions in this CFI fragment. | |
Protected Attributes | |
| const FrameKind | Kind |
| const bool | IsDWARF64 |
| const uint64_t | Offset |
| Offset of this entry in the section. | |
| const uint64_t | Length |
| Entry length as specified in DWARF. | |
| std::optional< uint64_t > | UnparsedCFIStartOffset |
| Offset for lazy parsing; std::nullopt if CFIs are already parsed. | |
| CFIProgram | CFIs |
An entry in either debug_frame or eh_frame.
This entry can be a CIE or an FDE.
Definition at line 59 of file DWARFDebugFrame.h.
| Enumerator | |
|---|---|
| FK_CIE | |
| FK_FDE | |
Definition at line 61 of file DWARFDebugFrame.h.
|
inline |
Definition at line 63 of file DWARFDebugFrame.h.
References CFIs, IsDWARF64, Kind, Length, Offset, and uint64_t.
Referenced by llvm::dwarf::CIE::CIE(), llvm::dwarf::CIE::classof(), llvm::dwarf::FDE::classof(), and llvm::dwarf::FDE::FDE().
|
virtualdefault |
|
inline |
Definition at line 74 of file DWARFDebugFrame.h.
References CFIs.
|
inline |
Definition at line 73 of file DWARFDebugFrame.h.
References CFIs.
Referenced by llvm::dwarf::createUnwindTable(), and llvm::dwarf::createUnwindTable().
|
pure virtual |
Dump the instructions in this CFI fragment.
Implemented in llvm::dwarf::CIE, and llvm::dwarf::FDE.
|
inline |
|
inline |
Definition at line 70 of file DWARFDebugFrame.h.
References Kind.
Referenced by llvm::dwarf::CIE::classof(), and llvm::dwarf::FDE::classof().
|
inline |
Definition at line 72 of file DWARFDebugFrame.h.
|
inline |
Definition at line 71 of file DWARFDebugFrame.h.
References Offset, and uint64_t.
Referenced by llvm::dwarf::createUnwindTable().
|
inline |
If using lazily parsed CFIs, this returns the section offset where the unparsed CFIs start so user can parse them on-demand through the CFIProgram parsing interface cfis().parse(Data, ..., getEndOffset()).
This returns std::nullopt if CFIs are already succesfully parsed.
Definition at line 80 of file DWARFDebugFrame.h.
References UnparsedCFIStartOffset.
|
inline |
Definition at line 86 of file DWARFDebugFrame.h.
References UnparsedCFIStartOffset.
|
inline |
Definition at line 83 of file DWARFDebugFrame.h.
References uint64_t, and UnparsedCFIStartOffset.
|
protected |
Definition at line 111 of file DWARFDebugFrame.h.
Referenced by cfis(), cfis(), llvm::dwarf::CIE::dump(), llvm::dwarf::FDE::dump(), and FrameEntry().
Definition at line 100 of file DWARFDebugFrame.h.
Referenced by llvm::dwarf::CIE::CIE(), llvm::dwarf::CIE::dump(), llvm::dwarf::FDE::dump(), llvm::dwarf::FDE::FDE(), FrameEntry(), and getEndOffset().
Definition at line 98 of file DWARFDebugFrame.h.
Referenced by FrameEntry(), and getKind().
Entry length as specified in DWARF.
Definition at line 106 of file DWARFDebugFrame.h.
Referenced by llvm::dwarf::CIE::CIE(), llvm::dwarf::CIE::dump(), llvm::dwarf::FDE::dump(), llvm::dwarf::FDE::FDE(), FrameEntry(), getEndOffset(), and getLength().
Offset of this entry in the section.
Definition at line 103 of file DWARFDebugFrame.h.
Referenced by llvm::dwarf::CIE::CIE(), llvm::dwarf::CIE::dump(), llvm::dwarf::FDE::dump(), llvm::dwarf::FDE::FDE(), FrameEntry(), getEndOffset(), and getOffset().
|
protected |
Offset for lazy parsing; std::nullopt if CFIs are already parsed.
Definition at line 109 of file DWARFDebugFrame.h.
Referenced by getUnparsedCFIStartOffset(), markCFIProgramParsed(), and markCFIProgramUnparsed().