LLVM: llvm::gsym Namespace Reference (original) (raw)
| Classes | |
|---|---|
| struct | CallSiteInfo |
| struct | CallSiteInfoCollection |
| class | CallSiteInfoLoader |
| struct | CUInfo |
| class | DwarfTransformer |
| A class that transforms the DWARF in a DWARFContext into GSYM information by populating the GsymCreator object that it is constructed with. More... | |
| struct | FileEntry |
| Files in GSYM are contained in FileEntry structs where we split the directory and basename into two different strings in the string table. More... | |
| class | FileWriter |
| A simplified binary data writer class that doesn't require targets, target definitions, architectures, or require any other optional compile time libraries to be enabled via the build process. More... | |
| struct | FunctionInfo |
| Function information in GSYM files encodes information for one contiguous address range. More... | |
| class | GsymContext |
| GSYM DI Context This data structure is the top level entity that deals with GSYM symbolication. More... | |
| class | GsymCreator |
| GsymCreator is used to emit GSYM data to a stand alone file or section within a file. More... | |
| class | GsymReader |
| GsymReader is used to read GSYM data from a file or buffer. More... | |
| struct | Header |
| The GSYM header. More... | |
| struct | InlineInfo |
| Inline information stores the name of the inline function along with an array of address ranges. More... | |
| struct | LineEntry |
| Line entries are used to encode the line tables in FunctionInfo objects. More... | |
| class | LineTable |
| LineTable class contains deserialized versions of line tables for each function's address ranges. More... | |
| struct | LookupResult |
| struct | MergedFunctionsInfo |
| class | ObjectFileTransformer |
| class | OutputAggregator |
| struct | SourceLocation |
| struct | StringTable |
| String tables in GSYM files are required to start with an empty string at offset zero. More... |
◆ SourceLocations
◆ decodeRange()
◆ decodeRanges()
◆ encodeRange()
◆ encodeRanges()
◆ operator!=() [1/2]
◆ operator!=() [2/2]
◆ operator<() [1/2]
This sorting will order things consistently by address range first, but then followed by increasing levels of debug info like inline information and line tables.
We might end up with a FunctionInfo from debug info that will have the same range as one from the symbol table, but we want to quickly be able to sort and use the best version when creating the final GSYM file. This function compares the inline information as we have seen cases where LTO can generate a wide array of differing inline information, mostly due to messing up the address ranges for inlined functions, so the inline information with the most entries will appeear last. If the inline information match, either by both function infos not having any or both being exactly the same, we will then compare line tables. Comparing line tables allows the entry with the most line entries to appear last. This ensures we are able to save the FunctionInfo with the most debug info into the GSYM file.
Definition at line 237 of file FunctionInfo.h.
◆ operator<() [2/2]
◆ operator<<() [1/10]
◆ operator<<() [2/10]
◆ operator<<() [3/10]
◆ operator<<() [4/10]
◆ operator<<() [5/10]
◆ operator<<() [6/10]
◆ operator<<() [7/10]
◆ operator<<() [8/10]
◆ operator<<() [9/10]
◆ operator<<() [10/10]
◆ operator==() [1/7]
◆ operator==() [2/7]
◆ operator==() [3/7]
◆ operator==() [4/7]
◆ operator==() [5/7]
◆ operator==() [6/7]
◆ operator==() [7/7]
◆ skipRange()
Skip an address range object in the specified data a the specified offset.
Parameters
| Data | The binary stream to read the data from. |
|---|---|
| Offset | The byte offset within Data. |
Definition at line 50 of file ExtractRanges.cpp.
References llvm::Data, and llvm::Offset.
Referenced by skipRanges().
◆ skipRanges()
Skip an address range object in the specified data a the specified offset.
Parameters
| Data | The binary stream to read the data from. |
|---|---|
| Offset | The byte offset within Data. |
Returns
The number of address ranges that were skipped.
Definition at line 55 of file ExtractRanges.cpp.
References llvm::Data, I, llvm::Offset, and skipRange().
Referenced by skip().
◆ GSYM_CIGAM
| uint32_t llvm::gsym::GSYM_CIGAM = 0x4d595347 | constexpr |
|---|
◆ GSYM_MAGIC
| uint32_t llvm::gsym::GSYM_MAGIC = 0x4753594d | constexpr |
|---|
◆ GSYM_MAX_UUID_SIZE
| size_t llvm::gsym::GSYM_MAX_UUID_SIZE = 20 | constexpr |
|---|