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:45

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.

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

Parameters

MutableArrayRef<char> Data
uint64_t BaseOffset
bool IsLittleEndian

Returns

true whether any reloc has been applied.

virtual void clear()

Description

Erases all data.

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

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:78

virtual bool hasValidRelocs()

Description

Checks that there are valid relocations against a .debug_info section.

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

virtual bool isLiveSubprogram(
    const llvm::DWARFDie& DIE,
    CompileUnit::DIEInfo& Info)

Description

Checks that the specified subprogram \p DIE references live code section. Allowed kind of input die: DW_TAG_subprogram, DW_TAG_label.

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

Parameters

const llvm::DWARFDie& DIE
CompileUnit::DIEInfo& Info

Returns

true and sets Info.InDebugMap if it is the case.

virtual bool isLiveVariable(
    const llvm::DWARFDie& DIE,
    CompileUnit::DIEInfo& Info)

Description

Checks that the specified variable \p DIE references live code section. Allowed kind of input die: DW_TAG_variable, DW_TAG_constant.

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

Parameters

const llvm::DWARFDie& DIE
CompileUnit::DIEInfo& Info

Returns

true and sets Info.InDebugMap if it is the case.

virtual llvm::Expected<uint64_t>
relocateIndexedAddr(uint64_t StartOffset,
                    uint64_t EndOffset)

Description

Relocate the given address offset if a valid relocation exists.

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

Parameters

uint64_t StartOffset
uint64_t EndOffset

virtual ~AddressesMap()

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