struct CUInfo

Declaration

struct CUInfo { /* full declaration omitted */ };

Declared at: llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp:28

Member Variables

public const DWARFDebugLine::LineTable* LineTable
public const char* CompDir
public std::vector<uint32_t> FileCache
public uint64_t Language = 0
public uint8_t AddrSize = 0

Method Overview

  • public CUInfo(llvm::DWARFContext & DICtx, llvm::DWARFCompileUnit * CU)
  • public uint32_t DWARFToGSYMFileIndex(llvm::gsym::GsymCreator & Gsym, uint32_t DwarfFileIdx)
  • public bool isHighestAddress(uint64_t Addr) const

Methods

CUInfo(llvm::DWARFContext& DICtx,
       llvm::DWARFCompileUnit* CU)

Declared at: llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp:35

Parameters

llvm::DWARFContext& DICtx
llvm::DWARFCompileUnit* CU

uint32_t DWARFToGSYMFileIndex(
    llvm::gsym::GsymCreator& Gsym,
    uint32_t DwarfFileIdx)

Description

Convert a DWARF compile unit file index into a GSYM global file index. Each compile unit in DWARF has its own file table in the line table prologue. GSYM has a single large file table that applies to all files from all of the info in a GSYM file. This function converts between the two and caches and DWARF CU file index that has already been converted so the first client that asks for a compile unit file index will end up doing the conversion, and subsequent clients will get the cached GSYM index.

Declared at: llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp:67

Parameters

llvm::gsym::GsymCreator& Gsym
uint32_t DwarfFileIdx

bool isHighestAddress(uint64_t Addr) const

Description

Return true if Addr is the highest address for a given compile unit. The highest address is encoded as -1, of all ones in the address. These high addresses are used by some linkers to indicate that a function has been dead stripped or didn't end up in the linked executable.

Declared at: llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp:50

Parameters

uint64_t Addr