LLVM 17.0.0git
Public Member Functions | List of all members
llvm::AddressesMap Class Referenceabstract

AddressesMap represents information about valid addresses used by debug information. More...

#include "llvm/DWARFLinker/DWARFLinker.h"

Public Member Functions

virtual ~AddressesMap ()
 
virtual bool hasValidRelocs ()=0
 Checks that there are valid relocations against a .debug_info section.
 
virtual bool isLiveVariable (const DWARFDie &DIE, CompileUnit::DIEInfo &Info)=0
 Checks that the specified variable DIE references live code section.
 
virtual bool isLiveSubprogram (const DWARFDie &DIE, CompileUnit::DIEInfo &Info)=0
 Checks that the specified subprogram DIE references live code section.
 
virtual bool applyValidRelocs (MutableArrayRef< char > Data, uint64_t BaseOffset, bool IsLittleEndian)=0
 Apply the valid relocations to the buffer Data, taking into account that Data is at BaseOffset in the .debug_info section.
 
virtual RangesTygetValidAddressRanges ()=0
 Returns all valid functions address ranges(i.e., those ranges which points to sections with code).
 
virtual void clear ()=0
 Erases all data.
 

Detailed 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.

Definition at line 44 of file DWARFLinker.h.

Constructor & Destructor Documentation

◆ ~AddressesMap()

llvm::AddressesMap::~AddressesMap ( )
virtualdefault

Member Function Documentation

◆ applyValidRelocs()

virtual bool llvm::AddressesMap::applyValidRelocs ( MutableArrayRef< char Data,
uint64_t  BaseOffset,
bool  IsLittleEndian 
)
pure virtual

Apply the valid relocations to the buffer Data, taking into account that Data is at BaseOffset in the .debug_info section.

Returns
true whether any reloc has been applied.

◆ clear()

virtual void llvm::AddressesMap::clear ( )
pure virtual

Erases all data.

◆ getValidAddressRanges()

virtual RangesTy & llvm::AddressesMap::getValidAddressRanges ( )
pure virtual

Returns all valid functions address ranges(i.e., those ranges which points to sections with code).

◆ hasValidRelocs()

virtual bool llvm::AddressesMap::hasValidRelocs ( )
pure virtual

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

◆ isLiveSubprogram()

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

Checks that the specified subprogram DIE references live code section.

Allowed kind of input die: DW_TAG_subprogram, DW_TAG_label.

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

◆ isLiveVariable()

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

Checks that the specified variable DIE references live code section.

Allowed kind of input die: DW_TAG_variable, DW_TAG_constant.

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

The documentation for this class was generated from the following files: