class AddressesMap
Declaration
class AddressesMap { /* full declaration omitted */ };
Description
AddressesMap represents information about valid addresses used by debug information. Valid addresses are those which points to live code sections. i.e. relocations for these addresses point into sections which would be/are placed into resulting binary.
Declared at: llvm/include/llvm/DWARFLinker/DWARFLinker.h:47
Method Overview
- public virtual bool applyValidRelocs(MutableArrayRef<char> Data, uint64_t BaseOffset, bool IsLittleEndian)
- public virtual bool areRelocationsResolved() const
- public virtual void clear()
- public virtual llvm::RangesTy & getValidAddressRanges()
- public virtual bool hasValidRelocationAt(uint64_t StartOffset, uint64_t EndOffset, CompileUnit::DIEInfo & Info)
- public virtual bool hasValidRelocs(bool ResetRelocsPtr = true)
- public virtual ~AddressesMap()
Methods
¶virtual bool applyValidRelocs(
MutableArrayRef<char> Data,
uint64_t BaseOffset,
bool IsLittleEndian)
virtual bool applyValidRelocs(
MutableArrayRef<char> Data,
uint64_t BaseOffset,
bool IsLittleEndian)
Description
Apply the valid relocations to the buffer \p Data, taking into account that Data is at \p BaseOffset in the debug_info section. This function must be called with monotonic \p BaseOffset values.
Declared at: llvm/include/llvm/DWARFLinker/DWARFLinker.h:75
Parameters
- MutableArrayRef<char> Data
- uint64_t BaseOffset
- bool IsLittleEndian
Returns
true whether any reloc has been applied.
¶virtual bool areRelocationsResolved() const
virtual bool areRelocationsResolved() const
Description
Returns true if represented addresses are from linked file. Returns false if represented addresses are from not-linked object file.
Declared at: llvm/include/llvm/DWARFLinker/DWARFLinker.h:54
¶virtual void clear()
virtual void clear()
Description
Erases all data.
Declared at: llvm/include/llvm/DWARFLinker/DWARFLinker.h:83
¶virtual llvm::RangesTy& getValidAddressRanges()
virtual llvm::RangesTy& getValidAddressRanges()
Description
Returns all valid functions address ranges(i.e., those ranges which points to sections with code).
Declared at: llvm/include/llvm/DWARFLinker/DWARFLinker.h:80
¶virtual bool hasValidRelocationAt(
uint64_t StartOffset,
uint64_t EndOffset,
CompileUnit::DIEInfo& Info)
virtual bool hasValidRelocationAt(
uint64_t StartOffset,
uint64_t EndOffset,
CompileUnit::DIEInfo& Info)
Description
Checks that there is a relocation against .debug_info table between \p StartOffset and \p NextOffset. This function must be called with offsets in strictly ascending order because it never looks back at relocations it already 'went past'.
Declared at: llvm/include/llvm/DWARFLinker/DWARFLinker.h:66
Parameters
- uint64_t StartOffset
- uint64_t EndOffset
- CompileUnit::DIEInfo& Info
Returns
true and sets Info.InDebugMap if it is the case.
¶virtual bool hasValidRelocs(
bool ResetRelocsPtr = true)
virtual bool hasValidRelocs(
bool ResetRelocsPtr = true)
Description
Checks that there are valid relocations against a .debug_info section. Reset current relocation pointer if neccessary.
Declared at: llvm/include/llvm/DWARFLinker/DWARFLinker.h:58
Parameters
- bool ResetRelocsPtr = true
¶virtual ~AddressesMap()
virtual ~AddressesMap()
Declared at: llvm/include/llvm/DWARFLinker/DWARFLinker.h:49