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

Methods

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

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()

Description

Erases all data.

Declared at: llvm/include/llvm/DWARFLinker/DWARFLinker.h:83

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)

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)

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()

Declared at: llvm/include/llvm/DWARFLinker/DWARFLinker.h:49