mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 11:59:56 +00:00
[DWARFYAML] Add support for emitting multiple abbrev tables.
This patch adds support for emitting multiple abbrev tables. Currently, compilation units will always reference the first abbrev table. Reviewed By: jhenderson, labath Differential Revision: https://reviews.llvm.org/D86194
This commit is contained in:
parent
1cf2d56956
commit
6752521113
@ -39,6 +39,10 @@ struct Abbrev {
|
||||
std::vector<AttributeAbbrev> Attributes;
|
||||
};
|
||||
|
||||
struct AbbrevTable {
|
||||
std::vector<Abbrev> Table;
|
||||
};
|
||||
|
||||
struct ARangeDescriptor {
|
||||
llvm::yaml::Hex64 Address;
|
||||
yaml::Hex64 Length;
|
||||
@ -203,7 +207,7 @@ template <typename EntryType> struct ListTable {
|
||||
struct Data {
|
||||
bool IsLittleEndian;
|
||||
bool Is64BitAddrSize;
|
||||
std::vector<Abbrev> AbbrevDecls;
|
||||
std::vector<AbbrevTable> DebugAbbrev;
|
||||
std::vector<StringRef> DebugStrings;
|
||||
Optional<std::vector<StringOffsetsTable>> DebugStrOffsets;
|
||||
Optional<std::vector<ARange>> DebugAranges;
|
||||
@ -231,6 +235,7 @@ struct Data {
|
||||
|
||||
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::DWARFYAML::AttributeAbbrev)
|
||||
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::DWARFYAML::Abbrev)
|
||||
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::DWARFYAML::AbbrevTable)
|
||||
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::DWARFYAML::ARangeDescriptor)
|
||||
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::DWARFYAML::ARange)
|
||||
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::DWARFYAML::RangeEntry)
|
||||
@ -264,6 +269,10 @@ template <> struct MappingTraits<DWARFYAML::Data> {
|
||||
static void mapping(IO &IO, DWARFYAML::Data &DWARF);
|
||||
};
|
||||
|
||||
template <> struct MappingTraits<DWARFYAML::AbbrevTable> {
|
||||
static void mapping(IO &IO, DWARFYAML::AbbrevTable &AbbrevTable);
|
||||
};
|
||||
|
||||
template <> struct MappingTraits<DWARFYAML::Abbrev> {
|
||||
static void mapping(IO &IO, DWARFYAML::Abbrev &Abbrev);
|
||||
};
|
||||
|
@ -96,24 +96,27 @@ Error DWARFYAML::emitDebugStr(raw_ostream &OS, const DWARFYAML::Data &DI) {
|
||||
|
||||
Error DWARFYAML::emitDebugAbbrev(raw_ostream &OS, const DWARFYAML::Data &DI) {
|
||||
uint64_t AbbrevCode = 0;
|
||||
for (auto AbbrevDecl : DI.AbbrevDecls) {
|
||||
AbbrevCode = AbbrevDecl.Code ? (uint64_t)*AbbrevDecl.Code : AbbrevCode + 1;
|
||||
encodeULEB128(AbbrevCode, OS);
|
||||
encodeULEB128(AbbrevDecl.Tag, OS);
|
||||
OS.write(AbbrevDecl.Children);
|
||||
for (auto Attr : AbbrevDecl.Attributes) {
|
||||
encodeULEB128(Attr.Attribute, OS);
|
||||
encodeULEB128(Attr.Form, OS);
|
||||
if (Attr.Form == dwarf::DW_FORM_implicit_const)
|
||||
encodeSLEB128(Attr.Value, OS);
|
||||
for (const DWARFYAML::AbbrevTable &AbbrevTable : DI.DebugAbbrev) {
|
||||
for (const DWARFYAML::Abbrev &AbbrevDecl : AbbrevTable.Table) {
|
||||
AbbrevCode =
|
||||
AbbrevDecl.Code ? (uint64_t)*AbbrevDecl.Code : AbbrevCode + 1;
|
||||
encodeULEB128(AbbrevCode, OS);
|
||||
encodeULEB128(AbbrevDecl.Tag, OS);
|
||||
OS.write(AbbrevDecl.Children);
|
||||
for (auto Attr : AbbrevDecl.Attributes) {
|
||||
encodeULEB128(Attr.Attribute, OS);
|
||||
encodeULEB128(Attr.Form, OS);
|
||||
if (Attr.Form == dwarf::DW_FORM_implicit_const)
|
||||
encodeSLEB128(Attr.Value, OS);
|
||||
}
|
||||
encodeULEB128(0, OS);
|
||||
encodeULEB128(0, OS);
|
||||
}
|
||||
encodeULEB128(0, OS);
|
||||
encodeULEB128(0, OS);
|
||||
}
|
||||
|
||||
// The abbreviations for a given compilation unit end with an entry consisting
|
||||
// of a 0 byte for the abbreviation code.
|
||||
OS.write_zeros(1);
|
||||
// The abbreviations for a given compilation unit end with an entry
|
||||
// consisting of a 0 byte for the abbreviation code.
|
||||
OS.write_zeros(1);
|
||||
}
|
||||
|
||||
return Error::success();
|
||||
}
|
||||
@ -243,7 +246,7 @@ Error DWARFYAML::emitDebugGNUPubtypes(raw_ostream &OS, const Data &DI) {
|
||||
/*IsGNUStyle=*/true);
|
||||
}
|
||||
|
||||
static Expected<uint64_t> writeDIE(ArrayRef<DWARFYAML::Abbrev> AbbrevDecls,
|
||||
static Expected<uint64_t> writeDIE(ArrayRef<DWARFYAML::AbbrevTable> AbbrevTable,
|
||||
const dwarf::FormParams &Params,
|
||||
const DWARFYAML::Entry &Entry,
|
||||
raw_ostream &OS, bool IsLittleEndian) {
|
||||
@ -253,6 +256,13 @@ static Expected<uint64_t> writeDIE(ArrayRef<DWARFYAML::Abbrev> AbbrevDecls,
|
||||
if (AbbrCode == 0 || Entry.Values.empty())
|
||||
return OS.tell() - EntryBegin;
|
||||
|
||||
if (AbbrevTable.empty())
|
||||
return createStringError(
|
||||
errc::invalid_argument,
|
||||
"non-empty compilation unit should have an associated abbrev table");
|
||||
|
||||
ArrayRef<DWARFYAML::Abbrev> AbbrevDecls(AbbrevTable[0].Table);
|
||||
|
||||
if (AbbrCode > AbbrevDecls.size())
|
||||
return createStringError(
|
||||
errc::invalid_argument,
|
||||
@ -394,7 +404,7 @@ Error DWARFYAML::emitDebugInfo(raw_ostream &OS, const DWARFYAML::Data &DI) {
|
||||
|
||||
for (const DWARFYAML::Entry &Entry : Unit.Entries) {
|
||||
if (Expected<uint64_t> EntryLength = writeDIE(
|
||||
DI.AbbrevDecls, Params, Entry, EntryBufferOS, DI.IsLittleEndian))
|
||||
DI.DebugAbbrev, Params, Entry, EntryBufferOS, DI.IsLittleEndian))
|
||||
Length += *EntryLength;
|
||||
else
|
||||
return EntryLength.takeError();
|
||||
|
@ -32,7 +32,7 @@ SetVector<StringRef> DWARFYAML::Data::getNonEmptySectionNames() const {
|
||||
SecNames.insert("debug_line");
|
||||
if (!DebugAddr.empty())
|
||||
SecNames.insert("debug_addr");
|
||||
if (!AbbrevDecls.empty())
|
||||
if (!DebugAbbrev.empty())
|
||||
SecNames.insert("debug_abbrev");
|
||||
if (!CompileUnits.empty())
|
||||
SecNames.insert("debug_info");
|
||||
@ -60,7 +60,7 @@ void MappingTraits<DWARFYAML::Data>::mapping(IO &IO, DWARFYAML::Data &DWARF) {
|
||||
DWARFYAML::DWARFContext DWARFCtx;
|
||||
IO.setContext(&DWARFCtx);
|
||||
IO.mapOptional("debug_str", DWARF.DebugStrings);
|
||||
IO.mapOptional("debug_abbrev", DWARF.AbbrevDecls);
|
||||
IO.mapOptional("debug_abbrev", DWARF.DebugAbbrev);
|
||||
IO.mapOptional("debug_aranges", DWARF.DebugAranges);
|
||||
if (!DWARF.DebugRanges.empty() || !IO.outputting())
|
||||
IO.mapOptional("debug_ranges", DWARF.DebugRanges);
|
||||
@ -78,6 +78,11 @@ void MappingTraits<DWARFYAML::Data>::mapping(IO &IO, DWARFYAML::Data &DWARF) {
|
||||
IO.setContext(OldContext);
|
||||
}
|
||||
|
||||
void MappingTraits<DWARFYAML::AbbrevTable>::mapping(
|
||||
IO &IO, DWARFYAML::AbbrevTable &AbbrevTable) {
|
||||
IO.mapOptional("Table", AbbrevTable.Table);
|
||||
}
|
||||
|
||||
void MappingTraits<DWARFYAML::Abbrev>::mapping(IO &IO,
|
||||
DWARFYAML::Abbrev &Abbrev) {
|
||||
IO.mapOptional("Code", Abbrev.Code);
|
||||
|
@ -274,103 +274,104 @@ DWARF:
|
||||
- a
|
||||
- N
|
||||
- t
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_comp_dir
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_base_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_encoding
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_byte_size
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_typedef
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000004
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_frame_base
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_prototyped
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_external
|
||||
Form: DW_FORM_flag_present
|
||||
- Code: 0x00000005
|
||||
Tag: DW_TAG_formal_parameter
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Code: 0x00000006
|
||||
Tag: DW_TAG_variable
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Code: 0x00000007
|
||||
Tag: DW_TAG_const_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
debug_abbrev:
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_comp_dir
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_base_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_encoding
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_byte_size
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_typedef
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000004
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_frame_base
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_prototyped
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_external
|
||||
Form: DW_FORM_flag_present
|
||||
- Code: 0x00000005
|
||||
Tag: DW_TAG_formal_parameter
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Code: 0x00000006
|
||||
Tag: DW_TAG_variable
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Code: 0x00000007
|
||||
Tag: DW_TAG_const_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
...
|
||||
|
||||
#CHECK: DWARF:
|
||||
|
@ -263,103 +263,104 @@ DWARF:
|
||||
- a
|
||||
- N
|
||||
- t
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_comp_dir
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_base_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_encoding
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_byte_size
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_typedef
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000004
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_frame_base
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_prototyped
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_external
|
||||
Form: DW_FORM_flag_present
|
||||
- Code: 0x00000005
|
||||
Tag: DW_TAG_formal_parameter
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Code: 0x00000006
|
||||
Tag: DW_TAG_variable
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Code: 0x00000007
|
||||
Tag: DW_TAG_const_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
debug_abbrev:
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_comp_dir
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_base_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_encoding
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_byte_size
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_typedef
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000004
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_frame_base
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_prototyped
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_external
|
||||
Form: DW_FORM_flag_present
|
||||
- Code: 0x00000005
|
||||
Tag: DW_TAG_formal_parameter
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Code: 0x00000006
|
||||
Tag: DW_TAG_variable
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Code: 0x00000007
|
||||
Tag: DW_TAG_const_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
...
|
||||
|
||||
#CHECK: DWARF:
|
||||
|
@ -275,76 +275,77 @@ LoadCommands:
|
||||
reserved3: 0x00000000
|
||||
DWARF:
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_comp_dir
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_frame_base
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_prototyped
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_external
|
||||
Form: DW_FORM_flag_present
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_formal_parameter
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Code: 0x00000004
|
||||
Tag: DW_TAG_base_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_encoding
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_byte_size
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000005
|
||||
Tag: DW_TAG_pointer_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_comp_dir
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_frame_base
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_prototyped
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_external
|
||||
Form: DW_FORM_flag_present
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_formal_parameter
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Code: 0x00000004
|
||||
Tag: DW_TAG_base_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_encoding
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_byte_size
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000005
|
||||
Tag: DW_TAG_pointer_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
...
|
||||
|
||||
#CHECK: DWARF:
|
||||
|
@ -310,76 +310,77 @@ LinkEditData:
|
||||
- _main
|
||||
DWARF:
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_comp_dir
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_frame_base
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_prototyped
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_external
|
||||
Form: DW_FORM_flag_present
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_formal_parameter
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Code: 0x00000004
|
||||
Tag: DW_TAG_base_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_encoding
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_byte_size
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000005
|
||||
Tag: DW_TAG_pointer_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_comp_dir
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_frame_base
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_prototyped
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_external
|
||||
Form: DW_FORM_flag_present
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_formal_parameter
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Code: 0x00000004
|
||||
Tag: DW_TAG_base_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_encoding
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_byte_size
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000005
|
||||
Tag: DW_TAG_pointer_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
debug_aranges:
|
||||
- Length: 44
|
||||
Version: 2
|
||||
@ -511,10 +512,10 @@ DWARF:
|
||||
|
||||
# DWARF32: DWARF:
|
||||
# DWARF32: debug_info:
|
||||
# DWARF32-NEXT: - Length: 0x0000000000000075
|
||||
# DWARF32-NEXT: Version: 4
|
||||
# DWARF32-NEXT: AbbrOffset: 0
|
||||
# DWARF32-NEXT: AddrSize: 8
|
||||
# DWARF32-NEXT: - Length: 0x0000000000000075
|
||||
# DWARF32-NEXT: Version: 4
|
||||
# DWARF32-NEXT: AbbrOffset: 0
|
||||
# DWARF32-NEXT: AddrSize: 8
|
||||
# DWARF32-NEXT: Entries:
|
||||
# DWARF32-NEXT: - AbbrCode: 0x00000001
|
||||
# DWARF32-NEXT: Values:
|
||||
@ -580,10 +581,10 @@ DWARF:
|
||||
# RUN: obj2yaml | FileCheck %s --check-prefix=DWARF32-YAML
|
||||
|
||||
# DWARF32-YAML: debug_info:
|
||||
# DWARF32-YAML-NEXT: - Length: 0x000000000000000C
|
||||
# DWARF32-YAML-NEXT: Version: 4
|
||||
# DWARF32-YAML-NEXT: AbbrOffset: 0
|
||||
# DWARF32-YAML-NEXT: AddrSize: 8
|
||||
# DWARF32-YAML-NEXT: - Length: 0x000000000000000C
|
||||
# DWARF32-YAML-NEXT: Version: 4
|
||||
# DWARF32-YAML-NEXT: AbbrOffset: 0
|
||||
# DWARF32-YAML-NEXT: AddrSize: 8
|
||||
# DWARF32-YAML-NEXT: Entries:
|
||||
# DWARF32-YAML-NEXT: - AbbrCode: 0x00000001
|
||||
# DWARF32-YAML-NEXT: Values:
|
||||
@ -637,13 +638,14 @@ LoadCommands:
|
||||
reserved2: 0x00000000
|
||||
reserved3: 0x00000000
|
||||
DWARF:
|
||||
debug_abbrev:
|
||||
- Code: 1
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
debug_abbrev:
|
||||
- Table:
|
||||
- Code: 1
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
debug_info:
|
||||
- Format: [[FORMAT]]
|
||||
Length: 12
|
||||
@ -661,11 +663,11 @@ DWARF:
|
||||
# RUN: obj2yaml | FileCheck %s --check-prefix=DWARF64-YAML
|
||||
|
||||
# DWARF64-YAML: debug_info:
|
||||
# DWARF64-YAML-NEXT: - Format: DWARF64
|
||||
# DWARF64-YAML-NEXT: Length: 0x000000000000000C
|
||||
# DWARF64-YAML-NEXT: Version: 4
|
||||
# DWARF64-YAML-NEXT: AbbrOffset: 0
|
||||
# DWARF64-YAML-NEXT: AddrSize: 8
|
||||
# DWARF64-YAML-NEXT: - Format: DWARF64
|
||||
# DWARF64-YAML-NEXT: Length: 0x000000000000000C
|
||||
# DWARF64-YAML-NEXT: Version: 4
|
||||
# DWARF64-YAML-NEXT: AbbrOffset: 0
|
||||
# DWARF64-YAML-NEXT: AddrSize: 8
|
||||
# DWARF64-YAML-NEXT: Entries:
|
||||
# DWARF64-YAML-NEXT: - AbbrCode: 0x00000001
|
||||
# DWARF64-YAML-NEXT: Values:
|
||||
|
@ -322,77 +322,78 @@ DWARF:
|
||||
- argv
|
||||
- int
|
||||
- char
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_comp_dir
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_frame_base
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_prototyped
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_external
|
||||
Form: DW_FORM_flag_present
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_formal_parameter
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Code: 0x00000004
|
||||
Tag: DW_TAG_base_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_encoding
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_byte_size
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000005
|
||||
Tag: DW_TAG_pointer_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
debug_abbrev:
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_comp_dir
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_frame_base
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_prototyped
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_external
|
||||
Form: DW_FORM_flag_present
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_formal_parameter
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Code: 0x00000004
|
||||
Tag: DW_TAG_base_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_encoding
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_byte_size
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000005
|
||||
Tag: DW_TAG_pointer_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
debug_aranges:
|
||||
- Length: 44
|
||||
Version: 2
|
||||
|
@ -169,38 +169,39 @@ DWARF:
|
||||
- stripped2
|
||||
- main
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_ranges
|
||||
Form: DW_FORM_sec_offset
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_ranges
|
||||
Form: DW_FORM_sec_offset
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
debug_ranges:
|
||||
- Offset: 0x00000000
|
||||
Entries:
|
||||
|
@ -276,63 +276,64 @@ LoadCommands:
|
||||
DWARF:
|
||||
debug_str:
|
||||
- World
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: 0x2000
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: 0x2001
|
||||
Form: DW_FORM_block
|
||||
- Attribute: DW_AT_MIPS_loop_begin
|
||||
Form: DW_FORM_block1
|
||||
- Attribute: DW_AT_MIPS_tail_loop_begin
|
||||
Form: DW_FORM_block2
|
||||
- Attribute: DW_AT_MIPS_epilog_begin
|
||||
Form: DW_FORM_block4
|
||||
- Attribute: DW_AT_MIPS_loop_unroll_factor
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_MIPS_software_pipeline_depth
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_MIPS_linkage_name
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_MIPS_stride
|
||||
Form: DW_FORM_data8
|
||||
- Attribute: DW_AT_MIPS_abstract_name
|
||||
Form: DW_FORM_string
|
||||
- Attribute: DW_AT_MIPS_clone_origin
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_MIPS_has_inlines
|
||||
Form: DW_FORM_ref_addr
|
||||
- Attribute: DW_AT_MIPS_stride_byte
|
||||
Form: DW_FORM_ref1
|
||||
- Attribute: DW_AT_MIPS_stride_elem
|
||||
Form: DW_FORM_ref2
|
||||
- Attribute: DW_AT_MIPS_ptr_dopetype
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_MIPS_allocatable_dopetype
|
||||
Form: DW_FORM_ref8
|
||||
- Attribute: DW_AT_MIPS_assumed_shape_dopetype
|
||||
Form: DW_FORM_ref_sig8
|
||||
- Attribute: DW_AT_MIPS_assumed_size
|
||||
Form: DW_FORM_ref_udata
|
||||
- Attribute: 0x2012
|
||||
Form: DW_FORM_flag
|
||||
- Attribute: 0x2013
|
||||
Form: DW_FORM_flag
|
||||
- Attribute: 0x2014
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: 0x2015
|
||||
Form: DW_FORM_sdata
|
||||
- Attribute: 0x2017
|
||||
Form: DW_FORM_udata
|
||||
- Attribute: 0x2018
|
||||
Form: DW_FORM_GNU_ref_alt
|
||||
- Attribute: 0x2019
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: 0x201A
|
||||
Form: DW_FORM_addr
|
||||
debug_abbrev:
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: 0x2000
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: 0x2001
|
||||
Form: DW_FORM_block
|
||||
- Attribute: DW_AT_MIPS_loop_begin
|
||||
Form: DW_FORM_block1
|
||||
- Attribute: DW_AT_MIPS_tail_loop_begin
|
||||
Form: DW_FORM_block2
|
||||
- Attribute: DW_AT_MIPS_epilog_begin
|
||||
Form: DW_FORM_block4
|
||||
- Attribute: DW_AT_MIPS_loop_unroll_factor
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_MIPS_software_pipeline_depth
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_MIPS_linkage_name
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_MIPS_stride
|
||||
Form: DW_FORM_data8
|
||||
- Attribute: DW_AT_MIPS_abstract_name
|
||||
Form: DW_FORM_string
|
||||
- Attribute: DW_AT_MIPS_clone_origin
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_MIPS_has_inlines
|
||||
Form: DW_FORM_ref_addr
|
||||
- Attribute: DW_AT_MIPS_stride_byte
|
||||
Form: DW_FORM_ref1
|
||||
- Attribute: DW_AT_MIPS_stride_elem
|
||||
Form: DW_FORM_ref2
|
||||
- Attribute: DW_AT_MIPS_ptr_dopetype
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_MIPS_allocatable_dopetype
|
||||
Form: DW_FORM_ref8
|
||||
- Attribute: DW_AT_MIPS_assumed_shape_dopetype
|
||||
Form: DW_FORM_ref_sig8
|
||||
- Attribute: DW_AT_MIPS_assumed_size
|
||||
Form: DW_FORM_ref_udata
|
||||
- Attribute: 0x2012
|
||||
Form: DW_FORM_flag
|
||||
- Attribute: 0x2013
|
||||
Form: DW_FORM_flag
|
||||
- Attribute: 0x2014
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: 0x2015
|
||||
Form: DW_FORM_sdata
|
||||
- Attribute: 0x2017
|
||||
Form: DW_FORM_udata
|
||||
- Attribute: 0x2018
|
||||
Form: DW_FORM_GNU_ref_alt
|
||||
- Attribute: 0x2019
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: 0x201A
|
||||
Form: DW_FORM_addr
|
||||
debug_info:
|
||||
- Length: 168
|
||||
Version: 2
|
||||
|
@ -274,14 +274,15 @@ LoadCommands:
|
||||
reserved2: 0x00000000
|
||||
reserved3: 0x00000000
|
||||
DWARF:
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: 0x2001
|
||||
Form: DW_FORM_implicit_const
|
||||
Value: 0x12345678
|
||||
debug_abbrev:
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: 0x2001
|
||||
Form: DW_FORM_implicit_const
|
||||
Value: 0x12345678
|
||||
...
|
||||
|
||||
#CHECK: DWARF:
|
||||
|
@ -310,76 +310,77 @@ LinkEditData:
|
||||
- _main
|
||||
DWARF:
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_comp_dir
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_frame_base
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_prototyped
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_external
|
||||
Form: DW_FORM_flag_present
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_formal_parameter
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Code: 0x00000004
|
||||
Tag: DW_TAG_base_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_encoding
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_byte_size
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000005
|
||||
Tag: DW_TAG_pointer_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_comp_dir
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_frame_base
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_prototyped
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_external
|
||||
Form: DW_FORM_flag_present
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_formal_parameter
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Code: 0x00000004
|
||||
Tag: DW_TAG_base_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_encoding
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_byte_size
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000005
|
||||
Tag: DW_TAG_pointer_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
debug_aranges:
|
||||
- Length: 44
|
||||
Version: 2
|
||||
@ -511,11 +512,11 @@ DWARF:
|
||||
|
||||
# DWARF32: DWARF:
|
||||
# DWARF32: debug_info:
|
||||
# DWARF32-NEXT: - Length: 0x0000000000000076
|
||||
# DWARF32-NEXT: Version: 5
|
||||
# DWARF32-NEXT: UnitType: DW_UT_compile
|
||||
# DWARF32-NEXT: AbbrOffset: 0
|
||||
# DWARF32-NEXT: AddrSize: 8
|
||||
# DWARF32-NEXT: - Length: 0x0000000000000076
|
||||
# DWARF32-NEXT: Version: 5
|
||||
# DWARF32-NEXT: UnitType: DW_UT_compile
|
||||
# DWARF32-NEXT: AbbrOffset: 0
|
||||
# DWARF32-NEXT: AddrSize: 8
|
||||
# DWARF32-NEXT: Entries:
|
||||
# DWARF32-NEXT: - AbbrCode: 0x00000001
|
||||
# DWARF32-NEXT: Values:
|
||||
@ -581,11 +582,11 @@ DWARF:
|
||||
# RUN: obj2yaml | FileCheck %s --check-prefix=DWARF32-YAML
|
||||
|
||||
# DWARF32-YAML: debug_info:
|
||||
# DWARF32-YAML-NEXT: - Length: 0x000000000000000C
|
||||
# DWARF32-YAML-NEXT: Version: 5
|
||||
# DWARF32-YAML-NEXT: UnitType: DW_UT_compile
|
||||
# DWARF32-YAML-NEXT: AbbrOffset: 0x0000000000000000
|
||||
# DWARF32-YAML-NEXT: AddrSize: 8
|
||||
# DWARF32-YAML-NEXT: - Length: 0x000000000000000C
|
||||
# DWARF32-YAML-NEXT: Version: 5
|
||||
# DWARF32-YAML-NEXT: UnitType: DW_UT_compile
|
||||
# DWARF32-YAML-NEXT: AbbrOffset: 0x0000000000000000
|
||||
# DWARF32-YAML-NEXT: AddrSize: 8
|
||||
# DWARF32-YAML-NEXT: Entries:
|
||||
# DWARF32-YAML-NEXT: - AbbrCode: 0x00000001
|
||||
# DWARF32-YAML-NEXT: Values:
|
||||
@ -640,12 +641,13 @@ LoadCommands:
|
||||
reserved3: 0x00000000
|
||||
DWARF:
|
||||
debug_abbrev:
|
||||
- Code: 1
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Table:
|
||||
- Code: 1
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
debug_info:
|
||||
- Format: [[FORMAT]]
|
||||
Length: [[LENGTH]]
|
||||
@ -664,12 +666,12 @@ DWARF:
|
||||
# RUN: obj2yaml | FileCheck %s --check-prefix=DWARF64-YAML
|
||||
|
||||
# DWARF64-YAML: debug_info:
|
||||
# DWARF64-YAML-NEXT: - Format: DWARF64
|
||||
# DWARF64-YAML-NEXT: Length: 0x0000000000000014
|
||||
# DWARF64-YAML-NEXT: Version: 5
|
||||
# DWARF64-YAML-NEXT: UnitType: DW_UT_compile
|
||||
# DWARF64-YAML-NEXT: AbbrOffset: 0x0000000000000000
|
||||
# DWARF64-YAML-NEXT: AddrSize: 8
|
||||
# DWARF64-YAML-NEXT: - Format: DWARF64
|
||||
# DWARF64-YAML-NEXT: Length: 0x0000000000000014
|
||||
# DWARF64-YAML-NEXT: Version: 5
|
||||
# DWARF64-YAML-NEXT: UnitType: DW_UT_compile
|
||||
# DWARF64-YAML-NEXT: AbbrOffset: 0x0000000000000000
|
||||
# DWARF64-YAML-NEXT: AddrSize: 8
|
||||
# DWARF64-YAML-NEXT: Entries:
|
||||
# DWARF64-YAML-NEXT: - AbbrCode: 0x00000001
|
||||
# DWARF64-YAML-NEXT: Values:
|
||||
|
@ -30,46 +30,47 @@ DWARF:
|
||||
- main
|
||||
- inline1
|
||||
debug_abbrev:
|
||||
- Code: 0x0000000000000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Code: 0x0000000000000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_call_line
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x0000000000000003
|
||||
Tag: DW_TAG_inlined_subroutine
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_call_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_call_line
|
||||
Form: DW_FORM_data1
|
||||
- Table:
|
||||
- Code: 0x0000000000000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Code: 0x0000000000000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_call_line
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x0000000000000003
|
||||
Tag: DW_TAG_inlined_subroutine
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_call_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_call_line
|
||||
Form: DW_FORM_data1
|
||||
debug_info:
|
||||
- Length: 0x0000000000000046
|
||||
Version: 4
|
||||
|
@ -30,46 +30,47 @@ DWARF:
|
||||
- main
|
||||
- inline1
|
||||
debug_abbrev:
|
||||
- Code: 0x0000000000000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Code: 0x0000000000000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_call_line
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x0000000000000003
|
||||
Tag: DW_TAG_inlined_subroutine
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_call_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_call_line
|
||||
Form: DW_FORM_data1
|
||||
- Table:
|
||||
- Code: 0x0000000000000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Code: 0x0000000000000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_call_line
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x0000000000000003
|
||||
Tag: DW_TAG_inlined_subroutine
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_call_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_call_line
|
||||
Form: DW_FORM_data1
|
||||
debug_info:
|
||||
- Length: 0x0000000000000046
|
||||
Version: 4
|
||||
|
@ -29,44 +29,45 @@ DWARF:
|
||||
- ''
|
||||
- inline1
|
||||
debug_abbrev:
|
||||
- Code: 0x0000000000000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Code: 0x0000000000000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_call_line
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x0000000000000003
|
||||
Tag: DW_TAG_inlined_subroutine
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_call_file
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_call_line
|
||||
Form: DW_FORM_data1
|
||||
- Table:
|
||||
- Code: 0x0000000000000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Code: 0x0000000000000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_call_line
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x0000000000000003
|
||||
Tag: DW_TAG_inlined_subroutine
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_call_file
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_call_line
|
||||
Form: DW_FORM_data1
|
||||
debug_info:
|
||||
- Length: 0x0000000000000048
|
||||
Version: 4
|
||||
|
@ -178,38 +178,39 @@ DWARF:
|
||||
- main
|
||||
- foo
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_ranges
|
||||
Form: DW_FORM_sec_offset
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_ranges
|
||||
Form: DW_FORM_sec_offset
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
debug_ranges:
|
||||
- Offset: 0x00000000
|
||||
AddrSize: 0x08
|
||||
|
@ -299,84 +299,85 @@ Slices:
|
||||
- int
|
||||
- char
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_comp_dir
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_GNU_pubnames
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_frame_base
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Attribute: DW_AT_external
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: DW_AT_APPLE_isa
|
||||
Form: DW_FORM_flag
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_formal_parameter
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Code: 0x00000004
|
||||
Tag: DW_TAG_base_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_encoding
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_byte_size
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000005
|
||||
Tag: DW_TAG_pointer_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Code: 0x00000006
|
||||
Tag: DW_TAG_const_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_comp_dir
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_GNU_pubnames
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_frame_base
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Attribute: DW_AT_external
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: DW_AT_APPLE_isa
|
||||
Form: DW_FORM_flag
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_formal_parameter
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Code: 0x00000004
|
||||
Tag: DW_TAG_base_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_encoding
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_byte_size
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000005
|
||||
Tag: DW_TAG_pointer_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Code: 0x00000006
|
||||
Tag: DW_TAG_const_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
debug_aranges:
|
||||
- Length: 28
|
||||
Version: 2
|
||||
@ -777,82 +778,83 @@ Slices:
|
||||
- int
|
||||
- char
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_comp_dir
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_GNU_pubnames
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_frame_base
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Attribute: DW_AT_external
|
||||
Form: DW_FORM_flag_present
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_formal_parameter
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Code: 0x00000004
|
||||
Tag: DW_TAG_base_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_encoding
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_byte_size
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000005
|
||||
Tag: DW_TAG_pointer_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Code: 0x00000006
|
||||
Tag: DW_TAG_const_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_comp_dir
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_GNU_pubnames
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_frame_base
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Attribute: DW_AT_external
|
||||
Form: DW_FORM_flag_present
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_formal_parameter
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Code: 0x00000004
|
||||
Tag: DW_TAG_base_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_encoding
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_byte_size
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000005
|
||||
Tag: DW_TAG_pointer_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Code: 0x00000006
|
||||
Tag: DW_TAG_const_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
debug_aranges:
|
||||
- Length: 44
|
||||
Version: 2
|
||||
|
@ -384,160 +384,161 @@ DWARF:
|
||||
- argv
|
||||
- char
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_comp_dir
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_GNU_pubnames
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_frame_base
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_abstract_origin
|
||||
Form: DW_FORM_ref_addr
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_formal_parameter
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_abstract_origin
|
||||
Form: DW_FORM_ref_addr
|
||||
- Code: 0x00000004
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_linkage_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Attribute: DW_AT_external
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: DW_AT_inline
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000005
|
||||
Tag: DW_TAG_formal_parameter
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Code: 0x00000006
|
||||
Tag: DW_TAG_base_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_encoding
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_byte_size
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000007
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_frame_base
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Attribute: DW_AT_external
|
||||
Form: DW_FORM_flag_present
|
||||
- Code: 0x00000008
|
||||
Tag: DW_TAG_formal_parameter
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Code: 0x00000009
|
||||
Tag: DW_TAG_variable
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Code: 0x0000000A
|
||||
Tag: DW_TAG_inlined_subroutine
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_abstract_origin
|
||||
Form: DW_FORM_ref_addr
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_call_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_call_line
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x0000000B
|
||||
Tag: DW_TAG_pointer_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Code: 0x0000000C
|
||||
Tag: DW_TAG_const_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_comp_dir
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_GNU_pubnames
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_frame_base
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_abstract_origin
|
||||
Form: DW_FORM_ref_addr
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_formal_parameter
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_abstract_origin
|
||||
Form: DW_FORM_ref_addr
|
||||
- Code: 0x00000004
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_linkage_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Attribute: DW_AT_external
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: DW_AT_inline
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000005
|
||||
Tag: DW_TAG_formal_parameter
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Code: 0x00000006
|
||||
Tag: DW_TAG_base_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_encoding
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_byte_size
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000007
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_frame_base
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Attribute: DW_AT_external
|
||||
Form: DW_FORM_flag_present
|
||||
- Code: 0x00000008
|
||||
Tag: DW_TAG_formal_parameter
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Code: 0x00000009
|
||||
Tag: DW_TAG_variable
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Code: 0x0000000A
|
||||
Tag: DW_TAG_inlined_subroutine
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_abstract_origin
|
||||
Form: DW_FORM_ref_addr
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_call_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_call_line
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x0000000B
|
||||
Tag: DW_TAG_pointer_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Code: 0x0000000C
|
||||
Tag: DW_TAG_const_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
debug_aranges:
|
||||
- Length: 60
|
||||
Version: 2
|
||||
|
@ -312,84 +312,85 @@ DWARF:
|
||||
- bar
|
||||
- main
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_comp_dir
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_variable
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_external
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_base_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_encoding
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_byte_size
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000004
|
||||
Tag: DW_TAG_variable
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Code: 0x00000005
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_frame_base
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_external
|
||||
Form: DW_FORM_flag_present
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_comp_dir
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_variable
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_external
|
||||
Form: DW_FORM_flag_present
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_base_type
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_encoding
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_byte_size
|
||||
Form: DW_FORM_data1
|
||||
- Code: 0x00000004
|
||||
Tag: DW_TAG_variable
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Code: 0x00000005
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_frame_base
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_external
|
||||
Form: DW_FORM_flag_present
|
||||
debug_info:
|
||||
- Length: 113
|
||||
Version: 4
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
# RUN: yaml2obj --docnum=1 %s -o %t1.o
|
||||
# RUN: llvm-readobj --sections --section-data %t1.o | \
|
||||
# RUN: FileCheck -DSIZE=39 -DADDRALIGN=1 %s --check-prefixes=SHDR,CONTENT
|
||||
# RUN: FileCheck -DSIZE=54 -DADDRALIGN=1 %s --check-prefixes=SHDR,CONTENT
|
||||
|
||||
# SHDR: Index: 1
|
||||
# SHDR-NEXT: Name: .debug_abbrev (1)
|
||||
@ -42,9 +42,21 @@
|
||||
## ^--- Form: invalid ULEB128 (0x81) ^--- Attribute: reserved ULEB128 (0x2020)
|
||||
## ^- Attribute: reserved ULEB128 ^- DW_FORM_implicit_const ULEB128
|
||||
##
|
||||
# CONTENT-NEXT: 0020: CEC2F105 000000 |.......|
|
||||
# CONTENT-NEXT: 0020: CEC2F105 00000001
|
||||
## ^------- Value SLEB128 (12345678) ^--- attr terminator
|
||||
## ^- abbrev terminator
|
||||
## ^- abbreviation code ULEB128
|
||||
# CONTENT: 1101250E 0000022E |..........%.....|
|
||||
## ^- DW_TAG_compile_unit ULEB128 ^--- attr terminator
|
||||
## ^- DW_CHILDREN_yes 1-byte ^- abbreviation code ULEB128
|
||||
## ^- DW_AT_producer ULEB128 ^- DW_TAG_subprogram ULEB128
|
||||
## ^- DW_FORM_strp ULEB128
|
||||
# CONTENT-NEXT: 0030: 01110100 0000 |......|
|
||||
## ^- DW_CHILDREN_yes 1-byte
|
||||
## ^- DW_AT_low_pc ULEB128
|
||||
## ^- DW_FORM_addr UELB128
|
||||
## ^---- attr terminator
|
||||
## ^- abbrev table terminator
|
||||
# CONTENT-NEXT: )
|
||||
|
||||
--- !ELF
|
||||
@ -54,42 +66,56 @@ FileHeader:
|
||||
Type: ET_EXEC
|
||||
DWARF:
|
||||
debug_abbrev:
|
||||
- Code: 1
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strx
|
||||
- Code: 2
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addrx
|
||||
- Code: 3
|
||||
## Test a reserved tag value.
|
||||
Tag: 0x06
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
## Test an attribute value that is more than one byte.
|
||||
- Attribute: DW_AT_call_pc
|
||||
## Test a form value that is more than one byte.
|
||||
Form: 0x81
|
||||
## Test a reserved attribute value.
|
||||
- Attribute: 0x04
|
||||
## Test a reserved form value.
|
||||
Form: 0x02
|
||||
- Attribute: 0x2020
|
||||
## Test one special attribute form DW_FORM_implicit_const,
|
||||
## who is followed by a SLEB128 value.
|
||||
Form: DW_FORM_implicit_const
|
||||
Value: 12345678
|
||||
- Table:
|
||||
- Code: 1
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strx
|
||||
- Code: 2
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addrx
|
||||
- Code: 3
|
||||
## Test a reserved tag value.
|
||||
Tag: 0x06
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
## Test an attribute value that is more than one byte.
|
||||
- Attribute: DW_AT_call_pc
|
||||
## Test a form value that is more than one byte.
|
||||
Form: 0x81
|
||||
## Test a reserved attribute value.
|
||||
- Attribute: 0x04
|
||||
## Test a reserved form value.
|
||||
Form: 0x02
|
||||
- Attribute: 0x2020
|
||||
## Test one special attribute form DW_FORM_implicit_const,
|
||||
## who is followed by a SLEB128 value.
|
||||
Form: DW_FORM_implicit_const
|
||||
Value: 12345678
|
||||
- Table:
|
||||
- Code: 1
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Code: 2
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
|
||||
## b) Generate the .debug_abbrev section from raw section content.
|
||||
|
||||
@ -149,10 +175,11 @@ Sections:
|
||||
Size: 0x10
|
||||
DWARF:
|
||||
debug_abbrev:
|
||||
- Code: 1
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes: []
|
||||
- Table:
|
||||
- Code: 1
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes: []
|
||||
|
||||
## e) Test that yaml2obj emits an error message when both the "Content" and the
|
||||
## "debug_abbrev" entry are specified at the same time.
|
||||
@ -170,10 +197,11 @@ Sections:
|
||||
Content: "00"
|
||||
DWARF:
|
||||
debug_abbrev:
|
||||
- Code: 1
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes: []
|
||||
- Table:
|
||||
- Code: 1
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes: []
|
||||
|
||||
## f) Test that all the properties can be overridden by the section header when
|
||||
## the "debug_abbrev" entry doesn't exist.
|
||||
@ -229,10 +257,11 @@ Sections:
|
||||
Type: SHT_STRTAB
|
||||
DWARF:
|
||||
debug_abbrev:
|
||||
- Code: 1
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes: []
|
||||
- Table:
|
||||
- Code: 1
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes: []
|
||||
|
||||
## h) Test that yaml2obj automatically generates abbreviation codes for us.
|
||||
|
||||
@ -256,23 +285,24 @@ FileHeader:
|
||||
Type: ET_EXEC
|
||||
DWARF:
|
||||
debug_abbrev:
|
||||
- Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes: []
|
||||
- Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes: []
|
||||
- Code: 4
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes: []
|
||||
- Code: 4
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes: []
|
||||
- Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes: []
|
||||
- Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes: []
|
||||
- Table:
|
||||
- Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes: []
|
||||
- Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes: []
|
||||
- Code: 4
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes: []
|
||||
- Code: 4
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes: []
|
||||
- Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes: []
|
||||
- Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes: []
|
||||
|
@ -115,95 +115,96 @@ FileHeader:
|
||||
Type: ET_EXEC
|
||||
DWARF:
|
||||
debug_abbrev:
|
||||
- Code: 1
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_addr ## 0x01
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_block2 ## 0x03
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_block4 ## 0x04
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_data2 ## 0x05
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_data4 ## 0x06
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_data8 ## 0x07
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_string ## 0x08
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_block ## 0x09
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_block1 ## 0x0a
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_data1 ## 0x0b
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_flag ## 0x0c
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_sdata ## 0x0d
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_strp ## 0x0e
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_udata ## 0x0f
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_ref_addr ## 0x10
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_ref1 ## 0x11
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_ref2 ## 0x12
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_ref4 ## 0x13
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_ref8 ## 0x14
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_ref_udata ## 0x15
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_indirect ## 0x16
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_sec_offset ## 0x17
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_exprloc ## 0x18
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_strx ## 0x1a
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_addrx ## 0x1b
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_ref_sup4 ## 0x1c
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_strp_sup ## 0x1d
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_data16 ## 0x1e
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_line_strp ## 0x1f
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_ref_sig8 ## 0x20
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_implicit_const ## 0x21
|
||||
Value: 0x01
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_loclistx ## 0x22
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_rnglistx ## 0x23
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_ref_sup8 ## 0x24
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_strx1 ## 0x25
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_strx2 ## 0x26
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_strx3 ## 0x27
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_strx4 ## 0x28
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_addrx1 ## 0x29
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_addrx2 ## 0x2a
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_addrx3 ## 0x2b
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_addrx4 ## 0x2c
|
||||
- Table:
|
||||
- Code: 1
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_addr ## 0x01
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_block2 ## 0x03
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_block4 ## 0x04
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_data2 ## 0x05
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_data4 ## 0x06
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_data8 ## 0x07
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_string ## 0x08
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_block ## 0x09
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_block1 ## 0x0a
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_data1 ## 0x0b
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_flag ## 0x0c
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_sdata ## 0x0d
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_strp ## 0x0e
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_udata ## 0x0f
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_ref_addr ## 0x10
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_ref1 ## 0x11
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_ref2 ## 0x12
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_ref4 ## 0x13
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_ref8 ## 0x14
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_ref_udata ## 0x15
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_indirect ## 0x16
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_sec_offset ## 0x17
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_exprloc ## 0x18
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_strx ## 0x1a
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_addrx ## 0x1b
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_ref_sup4 ## 0x1c
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_strp_sup ## 0x1d
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_data16 ## 0x1e
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_line_strp ## 0x1f
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_ref_sig8 ## 0x20
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_implicit_const ## 0x21
|
||||
Value: 0x01
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_loclistx ## 0x22
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_rnglistx ## 0x23
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_ref_sup8 ## 0x24
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_strx1 ## 0x25
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_strx2 ## 0x26
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_strx3 ## 0x27
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_strx4 ## 0x28
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_addrx1 ## 0x29
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_addrx2 ## 0x2a
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_addrx3 ## 0x2b
|
||||
- Attribute: 0x01
|
||||
Form: DW_FORM_addrx4 ## 0x2c
|
||||
debug_info:
|
||||
- Length: 0x1234
|
||||
Version: 5
|
||||
@ -266,20 +267,20 @@ DWARF:
|
||||
- Value: 0x1234 ## DW_FORM_addrx2
|
||||
- Value: 0x123456 ## DW_FORM_addrx3 (unimplemented)
|
||||
- Value: 0x12345678 ## DW_FORM_addrx4
|
||||
- Length: 0x1234
|
||||
Version: 5
|
||||
- Length: 0x1234
|
||||
Version: 5
|
||||
## Test another unit type.
|
||||
UnitType: DW_UT_compile
|
||||
AbbrOffset: 0x1234
|
||||
AddrSize: 4
|
||||
UnitType: DW_UT_compile
|
||||
AbbrOffset: 0x1234
|
||||
AddrSize: 4
|
||||
Entries:
|
||||
- AbbrCode: 0
|
||||
Values: []
|
||||
- Length: 0x5678
|
||||
- Length: 0x5678
|
||||
## Test DWARFv4
|
||||
Version: 4
|
||||
AbbrOffset: 0x5678
|
||||
AddrSize: 4
|
||||
Version: 4
|
||||
AbbrOffset: 0x5678
|
||||
AddrSize: 4
|
||||
Entries:
|
||||
- AbbrCode: 1
|
||||
Values:
|
||||
@ -440,10 +441,11 @@ Sections:
|
||||
Size: 0x10
|
||||
DWARF:
|
||||
debug_abbrev:
|
||||
- Code: 1
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes: []
|
||||
- Table:
|
||||
- Code: 1
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes: []
|
||||
debug_info:
|
||||
- Length: 0x1234
|
||||
Version: 5
|
||||
@ -467,10 +469,11 @@ Sections:
|
||||
Content: "00"
|
||||
DWARF:
|
||||
debug_abbrev:
|
||||
- Code: 1
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes: []
|
||||
- Table:
|
||||
- Code: 1
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes: []
|
||||
debug_info:
|
||||
- Length: 0x1234
|
||||
Version: 5
|
||||
@ -532,10 +535,11 @@ Sections:
|
||||
Type: SHT_STRTAB
|
||||
DWARF:
|
||||
debug_abbrev:
|
||||
- Code: 1
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes: []
|
||||
- Table:
|
||||
- Code: 1
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes: []
|
||||
debug_info:
|
||||
- Length: 0x1234
|
||||
Version: 5
|
||||
@ -597,20 +601,21 @@ FileHeader:
|
||||
Type: ET_EXEC
|
||||
DWARF:
|
||||
debug_abbrev:
|
||||
- Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data2
|
||||
- Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Table:
|
||||
- Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data2
|
||||
- Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
debug_info:
|
||||
- Length: 0x1234
|
||||
Version: 5
|
||||
@ -647,6 +652,8 @@ FileHeader:
|
||||
Data: ELFDATA2LSB
|
||||
Type: ET_EXEC
|
||||
DWARF:
|
||||
debug_abbrev:
|
||||
- Table: []
|
||||
debug_info:
|
||||
- Length: 0x1234
|
||||
Version: 5
|
||||
@ -774,34 +781,35 @@ DWARF:
|
||||
- "/home/v/x/llvm/playground"
|
||||
- "main"
|
||||
debug_abbrev:
|
||||
- Code: 1
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_comp_dir
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 2
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Table:
|
||||
- Code: 1
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_producer
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_comp_dir
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 2
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
debug_info:
|
||||
- Version: 4
|
||||
AbbrOffset: 0x00
|
||||
@ -873,3 +881,24 @@ DWARF:
|
||||
debug_info:
|
||||
- Version: 4
|
||||
AbbrOffset: 0x00
|
||||
|
||||
## n) Test that yaml2obj emits an error message when a compilation unit has values but there is no associated abbrev table.
|
||||
|
||||
## RUN: not yaml2obj --docnum=16 %s 2>&1 | FileCheck %s --check-prefix=NO-ABBREV
|
||||
|
||||
# NO-ABBREV: yaml2obj: error: non-empty compilation unit should have an associated abbrev table
|
||||
|
||||
--- !ELF
|
||||
FileHeader:
|
||||
Class: ELFCLASS64
|
||||
Data: ELFDATA2LSB
|
||||
Type: ET_EXEC
|
||||
Machine: EM_X86_64
|
||||
DWARF:
|
||||
debug_info:
|
||||
- Version: 4
|
||||
AbbrOffset: 0x00
|
||||
Entries:
|
||||
- AbbrCode: 1
|
||||
Values:
|
||||
- Value: 0x1234
|
||||
|
@ -24,6 +24,7 @@ void dumpDebugAbbrev(DWARFContext &DCtx, DWARFYAML::Data &Y) {
|
||||
auto AbbrevSetPtr = DCtx.getDebugAbbrev();
|
||||
if (AbbrevSetPtr) {
|
||||
for (auto AbbrvDeclSet : *AbbrevSetPtr) {
|
||||
Y.DebugAbbrev.emplace_back();
|
||||
for (auto AbbrvDecl : AbbrvDeclSet.second) {
|
||||
DWARFYAML::Abbrev Abbrv;
|
||||
Abbrv.Code = AbbrvDecl.getCode();
|
||||
@ -38,7 +39,7 @@ void dumpDebugAbbrev(DWARFContext &DCtx, DWARFYAML::Data &Y) {
|
||||
AttAbrv.Value = Attribute.getImplicitConstValue();
|
||||
Abbrv.Attributes.push_back(AttAbrv);
|
||||
}
|
||||
Y.AbbrevDecls.push_back(Abbrv);
|
||||
Y.DebugAbbrev.back().Table.push_back(Abbrv);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1363,10 +1363,11 @@ TEST(DWARFDebugInfo, TestChildIteratorsOnInvalidDie) {
|
||||
|
||||
TEST(DWARFDebugInfo, TestEmptyChildren) {
|
||||
const char *yamldata = "debug_abbrev:\n"
|
||||
" - Code: 0x00000001\n"
|
||||
" Tag: DW_TAG_compile_unit\n"
|
||||
" Children: DW_CHILDREN_yes\n"
|
||||
" Attributes:\n"
|
||||
" - Table:\n"
|
||||
" - Code: 0x00000001\n"
|
||||
" Tag: DW_TAG_compile_unit\n"
|
||||
" Children: DW_CHILDREN_yes\n"
|
||||
" Attributes:\n"
|
||||
"debug_info:\n"
|
||||
" - Version: 4\n"
|
||||
" AbbrOffset: 0\n"
|
||||
@ -1885,20 +1886,21 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidCURef) {
|
||||
- /tmp/main.c
|
||||
- main
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
debug_info:
|
||||
- Length: 22
|
||||
Version: 4
|
||||
@ -1933,20 +1935,21 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidRefAddr) {
|
||||
- /tmp/main.c
|
||||
- main
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
debug_info:
|
||||
- Length: 22
|
||||
Version: 4
|
||||
@ -1979,14 +1982,15 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidRanges) {
|
||||
- ''
|
||||
- /tmp/main.c
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_ranges
|
||||
Form: DW_FORM_sec_offset
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_ranges
|
||||
Form: DW_FORM_sec_offset
|
||||
debug_info:
|
||||
- Length: 16
|
||||
Version: 4
|
||||
@ -2016,14 +2020,15 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidRnglists) {
|
||||
- ''
|
||||
- /tmp/main.c
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_ranges
|
||||
Form: DW_FORM_sec_offset
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_ranges
|
||||
Form: DW_FORM_sec_offset
|
||||
debug_info:
|
||||
- Length: 17
|
||||
Version: 5
|
||||
@ -2053,14 +2058,15 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidStmtList) {
|
||||
- ''
|
||||
- /tmp/main.c
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
debug_info:
|
||||
- Length: 16
|
||||
Version: 4
|
||||
@ -2089,12 +2095,13 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidStrp) {
|
||||
debug_str:
|
||||
- ''
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
debug_info:
|
||||
- Length: 12
|
||||
Version: 4
|
||||
@ -2122,20 +2129,21 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidRefAddrBetween) {
|
||||
- /tmp/main.c
|
||||
- main
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref_addr
|
||||
debug_info:
|
||||
- Length: 22
|
||||
Version: 4
|
||||
@ -2169,14 +2177,15 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidLineSequence) {
|
||||
- ''
|
||||
- /tmp/main.c
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
debug_info:
|
||||
- Length: 16
|
||||
Version: 4
|
||||
@ -2237,14 +2246,15 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidLineFileIndex) {
|
||||
- ''
|
||||
- /tmp/main.c
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
debug_info:
|
||||
- Length: 16
|
||||
Version: 4
|
||||
@ -2307,14 +2317,15 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidLineTablePorlogueDirIndex) {
|
||||
- ''
|
||||
- /tmp/main.c
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
debug_info:
|
||||
- Length: 16
|
||||
Version: 4
|
||||
@ -2378,14 +2389,15 @@ TEST(DWARFDebugInfo, TestDwarfVerifyDuplicateFileWarning) {
|
||||
- ''
|
||||
- /tmp/main.c
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
debug_info:
|
||||
- Length: 16
|
||||
Version: 4
|
||||
@ -2454,14 +2466,15 @@ TEST(DWARFDebugInfo, TestDwarfVerifyCUDontShareLineTable) {
|
||||
- /tmp/main.c
|
||||
- /tmp/foo.c
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
debug_info:
|
||||
- Length: 16
|
||||
Version: 4
|
||||
@ -2569,24 +2582,25 @@ TEST(DWARFDebugInfo, TestDwarfVerifyCURangesIncomplete) {
|
||||
- ''
|
||||
- /tmp/main.c
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
debug_info:
|
||||
- Length: 46
|
||||
Version: 4
|
||||
@ -2622,30 +2636,31 @@ TEST(DWARFDebugInfo, TestDwarfVerifyLexicalBlockRanges) {
|
||||
- /tmp/main.c
|
||||
- main
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_lexical_block
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_lexical_block
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
debug_info:
|
||||
- Length: 52
|
||||
Version: 4
|
||||
@ -2687,22 +2702,23 @@ TEST(DWARFDebugInfo, TestDwarfVerifyOverlappingFunctionRanges) {
|
||||
- main
|
||||
- foo
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
debug_info:
|
||||
- Length: 55
|
||||
Version: 4
|
||||
@ -2741,34 +2757,35 @@ TEST(DWARFDebugInfo, TestDwarfVerifyOverlappingLexicalBlockRanges) {
|
||||
- /tmp/main.c
|
||||
- main
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_lexical_block
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_lexical_block
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
debug_info:
|
||||
- Length: 85
|
||||
Version: 4
|
||||
@ -2814,22 +2831,23 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidDIERange) {
|
||||
- /tmp/main.c
|
||||
- main
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
debug_info:
|
||||
- Length: 34
|
||||
Version: 4
|
||||
@ -2866,26 +2884,27 @@ TEST(DWARFDebugInfo, TestDwarfVerifyElidedDoesntFail) {
|
||||
- main
|
||||
- elided
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
debug_info:
|
||||
- Length: 71
|
||||
Version: 4
|
||||
@ -2928,26 +2947,27 @@ TEST(DWARFDebugInfo, TestDwarfVerifyNestedFunctions) {
|
||||
- main
|
||||
- nested
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
debug_info:
|
||||
- Length: 73
|
||||
Version: 4
|
||||
|
@ -21,18 +21,19 @@ namespace {
|
||||
TEST(DWARFDie, getLocations) {
|
||||
const char *yamldata = R"(
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_data_member_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_vtable_elem_location
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_call_data_location
|
||||
Form: DW_FORM_sec_offset
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_location
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_data_member_location
|
||||
Form: DW_FORM_exprloc
|
||||
- Attribute: DW_AT_vtable_elem_location
|
||||
Form: DW_FORM_sec_offset
|
||||
- Attribute: DW_AT_call_data_location
|
||||
Form: DW_FORM_sec_offset
|
||||
debug_info:
|
||||
- Version: 5
|
||||
UnitType: DW_UT_compile
|
||||
|
@ -1414,28 +1414,29 @@ TEST(GSYMTest, TestDWARFFunctionWithAddresses) {
|
||||
- /tmp/main.c
|
||||
- main
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
debug_info:
|
||||
- Length: 52
|
||||
Version: 4
|
||||
@ -1493,28 +1494,29 @@ TEST(GSYMTest, TestDWARFFunctionWithAddressAndOffset) {
|
||||
- /tmp/main.c
|
||||
- main
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
debug_info:
|
||||
- Length: 44
|
||||
Version: 4
|
||||
@ -1576,44 +1578,45 @@ TEST(GSYMTest, TestDWARFStructMethodNoMangled) {
|
||||
- dump
|
||||
- this
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_structure_type
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Code: 0x00000004
|
||||
Tag: DW_TAG_formal_parameter
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_artificial
|
||||
Form: DW_FORM_flag_present
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_structure_type
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Code: 0x00000004
|
||||
Tag: DW_TAG_formal_parameter
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_type
|
||||
Form: DW_FORM_ref4
|
||||
- Attribute: DW_AT_artificial
|
||||
Form: DW_FORM_flag_present
|
||||
debug_info:
|
||||
- Length: 68
|
||||
Version: 4
|
||||
@ -1696,28 +1699,29 @@ TEST(GSYMTest, TestDWARFTextRanges) {
|
||||
- dead_stripped
|
||||
- dead_stripped2
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
debug_info:
|
||||
- Length: 78
|
||||
Version: 4
|
||||
@ -1793,44 +1797,45 @@ TEST(GSYMTest, TestDWARFInlineInfo) {
|
||||
- main
|
||||
- inline1
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_inlined_subroutine
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_call_file
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_call_line
|
||||
Form: DW_FORM_data4
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_inlined_subroutine
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_call_file
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_call_line
|
||||
Form: DW_FORM_data4
|
||||
debug_info:
|
||||
- Length: 74
|
||||
Version: 4
|
||||
@ -2048,44 +2053,45 @@ TEST(GSYMTest, TestDWARFNoLines) {
|
||||
- no_lines_no_decl
|
||||
- no_lines_with_decl
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Attribute: DW_AT_stmt_list
|
||||
Form: DW_FORM_sec_offset
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_decl_file
|
||||
Form: DW_FORM_data1
|
||||
- Attribute: DW_AT_decl_line
|
||||
Form: DW_FORM_data1
|
||||
debug_info:
|
||||
- Length: 103
|
||||
Version: 4
|
||||
@ -2293,7 +2299,6 @@ TEST(GSYMTest, TestDWARFDeadStripAddr4) {
|
||||
//
|
||||
// 0x0000004e: NULL
|
||||
|
||||
|
||||
StringRef yamldata = R"(
|
||||
debug_str:
|
||||
- ''
|
||||
@ -2303,38 +2308,39 @@ TEST(GSYMTest, TestDWARFDeadStripAddr4) {
|
||||
- stripped2
|
||||
- stripped3
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
debug_info:
|
||||
- Length: 75
|
||||
Version: 4
|
||||
@ -2445,38 +2451,39 @@ TEST(GSYMTest, TestDWARFDeadStripAddr8) {
|
||||
- stripped2
|
||||
- stripped3
|
||||
debug_abbrev:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
- Table:
|
||||
- Code: 0x00000001
|
||||
Tag: DW_TAG_compile_unit
|
||||
Children: DW_CHILDREN_yes
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Attribute: DW_AT_language
|
||||
Form: DW_FORM_data2
|
||||
- Code: 0x00000002
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_data4
|
||||
- Code: 0x00000003
|
||||
Tag: DW_TAG_subprogram
|
||||
Children: DW_CHILDREN_no
|
||||
Attributes:
|
||||
- Attribute: DW_AT_name
|
||||
Form: DW_FORM_strp
|
||||
- Attribute: DW_AT_low_pc
|
||||
Form: DW_FORM_addr
|
||||
- Attribute: DW_AT_high_pc
|
||||
Form: DW_FORM_addr
|
||||
debug_info:
|
||||
- Length: 103
|
||||
Version: 4
|
||||
|
Loading…
Reference in New Issue
Block a user