LLVM: llvm::dwarf_linker Namespace Reference (original) (raw)

Classes
class AddressesMap
AddressesMap represents information about valid addresses used by debug information. More...
class DWARFFile
This class represents DWARF information for source file and it's address map. More...
class DWARFLinkerBase
The base interface for DWARFLinker implementations. More...
class IndexedValuesMap
This class stores values sequentually and assigns index to the each value. More...
class StringPool
class StringPoolEntryInfo
Typedefs
using RangesTy = AddressRangesMap
Mapped value in the address map is the offset to apply to the linked address.
using StringEntry = StringMapEntry<EmptyStringSetTag>
StringEntry keeps data of the string: the length, external offset and a string body which is placed right after StringEntry.
Enumerations
enum class DebugSectionKind : uint8_t { DebugInfo = 0 , DebugLine, DebugFrame, DebugRange, DebugRngLists, DebugLoc, DebugLocLists, DebugARanges, DebugAbbrev, DebugMacinfo, DebugMacro, DebugAddr, DebugStr, DebugLineStr, DebugStrOffsets, DebugPubNames, DebugPubTypes, DebugNames, AppleNames, AppleNamespaces, AppleObjC, AppleTypes, NumberOfEnumEntries }
List of tracked debug tables. More...
Functions
static constexpr const StringLiteral & getSectionName (DebugSectionKind SectionKind)
Return the name of the section.
LLVM_ABI std::optional< DebugSectionKind > parseDebugTableName (StringRef Name)
Recognise the table name and match it with the DebugSectionKind.
Error finiteLoop (function_ref< Expected< bool >()> Iteration, size_t MaxCounter=100000)
This function calls Iteration() until it returns false.
StringRef guessDeveloperDir (StringRef SysRoot)
Make a best effort to guess the Xcode.app/Contents/Developer path from an SDK path.
bool isInToolchainDir (StringRef Path)
Make a best effort to determine whether Path is inside a toolchain.
bool isPathAbsoluteOnWindowsOrPosix (const Twine &Path)

RangesTy

Mapped value in the address map is the offset to apply to the linked address.

Definition at line 24 of file AddressesMap.h.

StringEntry

StringEntry keeps data of the string: the length, external offset and a string body which is placed right after StringEntry.

Definition at line 23 of file StringPool.h.

DebugSectionKind

List of tracked debug tables.

Enumerator
DebugInfo
DebugLine
DebugFrame
DebugRange
DebugRngLists
DebugLoc
DebugLocLists
DebugARanges
DebugAbbrev
DebugMacinfo
DebugMacro
DebugAddr
DebugStr
DebugLineStr
DebugStrOffsets
DebugPubNames
DebugPubTypes
DebugNames
AppleNames
AppleNamespaces
AppleObjC
AppleTypes
NumberOfEnumEntries

Definition at line 28 of file DWARFLinkerBase.h.

finiteLoop()

getSectionName()

constexpr const StringLiteral & llvm::dwarf_linker::getSectionName ( DebugSectionKind SectionKind) staticconstexpr

guessDeveloperDir()

isInToolchainDir()

bool llvm::dwarf_linker::isInToolchainDir ( StringRef Path) inline

isPathAbsoluteOnWindowsOrPosix()

bool llvm::dwarf_linker::isPathAbsoluteOnWindowsOrPosix ( const Twine & Path) inline

parseDebugTableName()

std::optional< DebugSectionKind > llvm::dwarf_linker::parseDebugTableName ( llvm::StringRef SecName )

Recognise the table name and match it with the DebugSectionKind.

Definition at line 16 of file DWARFLinkerBase.cpp.

References AppleNames, AppleNamespaces, AppleObjC, AppleTypes, llvm::StringSwitch< T, R >::Case(), DebugAbbrev, DebugAddr, DebugARanges, DebugFrame, DebugInfo, DebugLine, DebugLineStr, DebugLoc, DebugLocLists, DebugMacinfo, DebugMacro, DebugNames, DebugPubNames, DebugPubTypes, DebugRange, DebugRngLists, DebugStr, DebugStrOffsets, llvm::StringSwitch< T, R >::Default(), llvm::StringRef::find_first_not_of(), getSectionName(), and llvm::StringRef::substr().

Referenced by llvm::dwarf_linker::parallel::SectionDescriptor::setSizesForSectionCreatedByAsmPrinter().

SectionKindsNum

size_t llvm::dwarf_linker::SectionKindsNum staticconstexpr

SectionNames

Initial value:

= {

"debug_info", "debug_line", "debug_frame", "debug_ranges",

"debug_rnglists", "debug_loc", "debug_loclists", "debug_aranges",

"debug_abbrev", "debug_macinfo", "debug_macro", "debug_addr",

"debug_str", "debug_line_str", "debug_str_offsets", "debug_pubnames",

"debug_pubtypes", "debug_names", "apple_names", "apple_namespac",

"apple_objc", "apple_types"}

Definition at line 57 of file DWARFLinkerBase.h.

Referenced by llvm::DWARFFormValue::dumpAddressSection(), and getSectionName().