20 using namespace dwarf;
24 bool LittleEndian,
bool GnuStyle)
25 : GnuStyle(GnuStyle) {
30 Set &SetData = Sets.back();
41 uint8_t IndexEntryValue = GnuStyle ? PubNames.
getU8(&Offset) : 0;
50 for (
const Set &S : Sets) {
51 OS <<
"length = " <<
format(
"0x%08x", S.Length);
52 OS <<
" version = " <<
format(
"0x%04x", S.Version);
53 OS <<
" unit_offset = " <<
format(
"0x%08x", S.Offset);
54 OS <<
" unit_size = " <<
format(
"0x%08x", S.Size) <<
'\n';
55 OS << (GnuStyle ?
"Offset Linkage Kind Name\n" 58 for (
const Entry &
E : S.Entries) {
64 OS <<
format(
"%-8s", EntryLinkage.
data()) <<
' ' 67 OS <<
'\"' << E.
Name <<
"\"\n";
This class represents lattice values for constants.
LLVM_NODISCARD LLVM_ATTRIBUTE_ALWAYS_INLINE size_t size() const
size - Get the string size.
format_object< Ts... > format(const char *Fmt, const Ts &... Vals)
These are helper functions used to produce formatted output.
void dump(raw_ostream &OS) const
LLVM_NODISCARD LLVM_ATTRIBUTE_ALWAYS_INLINE const char * data() const
data - Get a pointer to the start of the string (which may not be null terminated).
amdgpu Simplify well known AMD library false Value Value const Twine & Name
Each table consists of sets of variable length entries.
DWARFDebugPubTable(const DWARFObject &Obj, const DWARFSection &Sec, bool LittleEndian, bool GnuStyle)
Describes an entry of the various gnu_pub* debug sections.
StringRef GDBIndexEntryKindString(GDBIndexEntryKind Kind)
uint32_t Size
The size in bytes of the contents of the .debug_info section generated to represent that compilation ...
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
uint32_t Length
The total length of the entries for that set, not including the length field itself.
StringRef GDBIndexEntryLinkageString(GDBIndexEntryLinkage Linkage)
GDBIndexEntryLinkage Linkage
uint32_t Offset
The offset from the beginning of the .debug_info section of the compilation unit header referenced by...
uint32_t SecOffset
Section offset from the beginning of the compilation unit.
This file contains constants used for implementing Dwarf debug support.
std::vector< Entry > Entries
dwarf::PubIndexEntryDescriptor Descriptor
An entry of the various gnu_pub* debug sections.
uint16_t Version
This number is specific to the name lookup table and is independent of the DWARF version number...
This class implements an extremely fast bulk output stream that can only output to a stream...
StringRef - Represent a constant reference to a string, i.e.
StringRef Name
The name of the object as given by the DW_AT_name attribute of the referenced DIE.