LLVM  10.0.0svn
Classes | Functions | Variables
llvm::gsym Namespace Reference

Classes

struct  AddressRange
 A class that represents an address range. More...
 
class  AddressRanges
 The AddressRanges class helps normalize address range collections. 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  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  StringTable
 String tables in GSYM files are required to start with an empty string at offset zero. More...
 

Functions

bool operator== (const FunctionInfo &LHS, const FunctionInfo &RHS)
 
bool operator!= (const FunctionInfo &LHS, const FunctionInfo &RHS)
 
bool operator< (const FunctionInfo &LHS, const FunctionInfo &RHS)
 This sorting will order things consistently by address range first, but then followed by inlining being valid and line tables. More...
 
raw_ostreamoperator<< (raw_ostream &OS, const FunctionInfo &R)
 
bool operator== (const Header &LHS, const Header &RHS)
 
raw_ostreamoperator<< (raw_ostream &OS, const llvm::gsym::Header &H)
 
bool operator== (const InlineInfo &LHS, const InlineInfo &RHS)
 
raw_ostreamoperator<< (raw_ostream &OS, const InlineInfo &FI)
 
raw_ostreamoperator<< (raw_ostream &OS, const LineEntry &LE)
 
bool operator== (const LineEntry &LHS, const LineEntry &RHS)
 
bool operator!= (const LineEntry &LHS, const LineEntry &RHS)
 
bool operator< (const LineEntry &LHS, const LineEntry &RHS)
 
raw_ostreamoperator<< (raw_ostream &OS, const gsym::LineTable &LT)
 
raw_ostreamoperator<< (raw_ostream &OS, const AddressRange &R)
 
raw_ostreamoperator<< (raw_ostream &OS, const AddressRanges &AR)
 
raw_ostreamoperator<< (raw_ostream &OS, const StringTable &S)
 

Variables

constexpr uint32_t GSYM_MAGIC = 0x4753594d
 
constexpr uint32_t GSYM_CIGAM = 0x4d595347
 
constexpr uint32_t GSYM_VERSION = 1
 
constexpr size_t GSYM_MAX_UUID_SIZE = 20
 

Function Documentation

◆ operator!=() [1/2]

bool llvm::gsym::operator!= ( const LineEntry LHS,
const LineEntry RHS 
)
inline

Definition at line 39 of file LineEntry.h.

◆ operator!=() [2/2]

bool llvm::gsym::operator!= ( const FunctionInfo LHS,
const FunctionInfo RHS 
)
inline

Definition at line 162 of file FunctionInfo.h.

◆ operator<() [1/2]

bool llvm::gsym::operator< ( const LineEntry LHS,
const LineEntry RHS 
)
inline

Definition at line 42 of file LineEntry.h.

References llvm::gsym::LineEntry::Addr.

◆ operator<() [2/2]

bool llvm::gsym::operator< ( const FunctionInfo LHS,
const FunctionInfo RHS 
)
inline

This sorting will order things consistently by address range first, but then followed by inlining being valid 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.

Definition at line 170 of file FunctionInfo.h.

References llvm::gsym::FunctionInfo::Inline, operator<<(), llvm::gsym::FunctionInfo::OptLineTable, and llvm::gsym::FunctionInfo::Range.

◆ operator<<() [1/8]

raw_ostream& llvm::gsym::operator<< ( raw_ostream OS,
const LineEntry LE 
)
inline

◆ operator<<() [2/8]

raw_ostream& llvm::gsym::operator<< ( raw_ostream OS,
const StringTable S 
)
inline

◆ operator<<() [3/8]

raw_ostream & llvm::gsym::operator<< ( raw_ostream OS,
const AddressRange R 
)

Definition at line 56 of file Range.cpp.

References llvm::gsym::AddressRange::End, HEX64, and llvm::gsym::AddressRange::Start.

◆ operator<<() [4/8]

raw_ostream & llvm::gsym::operator<< ( raw_ostream OS,
const AddressRanges AR 
)

Definition at line 60 of file Range.cpp.

References I, Size, and llvm::gsym::AddressRanges::size().

◆ operator<<() [5/8]

raw_ostream & llvm::gsym::operator<< ( raw_ostream OS,
const llvm::gsym::Header H 
)

◆ operator<<() [6/8]

raw_ostream & llvm::gsym::operator<< ( raw_ostream OS,
const InlineInfo FI 
)

◆ operator<<() [7/8]

raw_ostream & llvm::gsym::operator<< ( raw_ostream OS,
const FunctionInfo R 
)

◆ operator<<() [8/8]

raw_ostream & llvm::gsym::operator<< ( raw_ostream OS,
const gsym::LineTable LT 
)

Definition at line 283 of file LineTable.cpp.

◆ operator==() [1/4]

bool llvm::gsym::operator== ( const LineEntry LHS,
const LineEntry RHS 
)
inline

◆ operator==() [2/4]

bool llvm::gsym::operator== ( const InlineInfo LHS,
const InlineInfo RHS 
)
inline

◆ operator==() [3/4]

bool llvm::gsym::operator== ( const Header LHS,
const Header RHS 
)

◆ operator==() [4/4]

bool llvm::gsym::operator== ( const FunctionInfo LHS,
const FunctionInfo RHS 
)
inline

Variable Documentation

◆ GSYM_CIGAM

constexpr uint32_t llvm::gsym::GSYM_CIGAM = 0x4d595347

Definition at line 25 of file Header.h.

◆ GSYM_MAGIC

constexpr uint32_t llvm::gsym::GSYM_MAGIC = 0x4753594d

Definition at line 24 of file Header.h.

Referenced by llvm::gsym::Header::checkForError(), and llvm::gsym::GsymCreator::encode().

◆ GSYM_MAX_UUID_SIZE

constexpr size_t llvm::gsym::GSYM_MAX_UUID_SIZE = 20

Definition at line 27 of file Header.h.

Referenced by llvm::gsym::Header::checkForError(), and llvm::gsym::Header::decode().

◆ GSYM_VERSION

constexpr uint32_t llvm::gsym::GSYM_VERSION = 1

Definition at line 26 of file Header.h.

Referenced by llvm::gsym::Header::checkForError(), and llvm::gsym::GsymCreator::encode().