https://github.com/jeffreytan81 updated https://github.com/llvm/llvm-project/pull/80218
>From abfec9a970dd5fb4d5612638e14208555afe582e Mon Sep 17 00:00:00 2001 From: jeffreytan81 <jeffrey...@fb.com> Date: Wed, 31 Jan 2024 15:53:46 -0800 Subject: [PATCH 1/2] Fix debug info size statistics for split dwarf --- .../SymbolFile/DWARF/SymbolFileDWARF.cpp | 23 + .../SymbolFile/DWARF/SymbolFileDWARF.h | 2 + .../SymbolFile/DWARF/SymbolFileDWARFDwo.cpp | 11 + .../SymbolFile/DWARF/SymbolFileDWARFDwo.h | 2 + .../target/debuginfo/TestDebugInfoSize.py | 133 ++ .../target/debuginfo/a.out-foo.dwo.yaml | 37 + .../target/debuginfo/a.out-main.dwo.yaml | 37 + .../API/commands/target/debuginfo/a.out.yaml | 1273 +++++++++++++++++ 8 files changed, 1518 insertions(+) create mode 100644 lldb/test/API/commands/target/debuginfo/TestDebugInfoSize.py create mode 100644 lldb/test/API/commands/target/debuginfo/a.out-foo.dwo.yaml create mode 100644 lldb/test/API/commands/target/debuginfo/a.out-main.dwo.yaml create mode 100644 lldb/test/API/commands/target/debuginfo/a.out.yaml diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp index fed97858c83f8..7ab75a9ce2c6b 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp @@ -2667,6 +2667,29 @@ static bool UpdateCompilerContextForSimpleTemplateNames(TypeQuery &match) { } return any_context_updated; } + +uint64_t SymbolFileDWARF::GetDebugInfoSize() { + DWARFDebugInfo &info = DebugInfo(); + uint32_t num_comp_units = info.GetNumUnits(); + + uint64_t debug_info_size = SymbolFileCommon::GetDebugInfoSize(); + // In dwp scenario, debug info == skeleton debug info + dwp debug info. + if (std::shared_ptr<SymbolFileDWARFDwo> dwp_sp = GetDwpSymbolFile()) + return debug_info_size + dwp_sp->GetDebugInfoSize(); + + // In dwo scenario, debug info == skeleton debug info + all dwo debug info. + for (uint32_t i = 0; i < num_comp_units; i++) { + DWARFUnit *cu = info.GetUnitAtIndex(i); + if (cu == nullptr) + continue; + + SymbolFileDWARFDwo *dwo = cu->GetDwoSymbolFile(); + if (dwo) + debug_info_size += dwo->GetDebugInfoSize(); + } + return debug_info_size; +} + void SymbolFileDWARF::FindTypes(const TypeQuery &query, TypeResults &results) { // Make sure we haven't already searched this SymbolFile before. diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h index 26a9502f90aa0..6d87530acf833 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h @@ -186,6 +186,8 @@ class SymbolFileDWARF : public SymbolFileCommon { GetMangledNamesForFunction(const std::string &scope_qualified_name, std::vector<ConstString> &mangled_names) override; + uint64_t GetDebugInfoSize() override; + void FindTypes(const lldb_private::TypeQuery &match, lldb_private::TypeResults &results) override; diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp index ca698a84a9146..b52cb514fb190 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp @@ -85,6 +85,17 @@ lldb::offset_t SymbolFileDWARFDwo::GetVendorDWARFOpcodeSize( return GetBaseSymbolFile().GetVendorDWARFOpcodeSize(data, data_offset, op); } +uint64_t SymbolFileDWARFDwo::GetDebugInfoSize() { + // Directly get debug info from current dwo object file's section list + // instead of asking SymbolFileCommon::GetDebugInfo() which parses from + // owning module which is wrong. + SectionList *section_list = + m_objfile_sp->GetSectionList(/*update_module_section_list=*/false); + if (section_list) + return section_list->GetDebugInfoSize(); + return 0; +} + bool SymbolFileDWARFDwo::ParseVendorDWARFOpcode( uint8_t op, const lldb_private::DataExtractor &opcodes, lldb::offset_t &offset, std::vector<lldb_private::Value> &stack) const { diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h index 9f5950e51b0c1..5c4b36328cbac 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h @@ -47,6 +47,8 @@ class SymbolFileDWARFDwo : public SymbolFileDWARF { const lldb::offset_t data_offset, const uint8_t op) const override; + uint64_t GetDebugInfoSize() override; + bool ParseVendorDWARFOpcode(uint8_t op, const DataExtractor &opcodes, lldb::offset_t &offset, std::vector<Value> &stack) const override; diff --git a/lldb/test/API/commands/target/debuginfo/TestDebugInfoSize.py b/lldb/test/API/commands/target/debuginfo/TestDebugInfoSize.py new file mode 100644 index 0000000000000..ecb155d016a07 --- /dev/null +++ b/lldb/test/API/commands/target/debuginfo/TestDebugInfoSize.py @@ -0,0 +1,133 @@ +""" +Test SBTarget.GetStatistics() reporting for dwo files. +""" + +import json +import os + +from lldbsuite.test import lldbtest, lldbutil +from lldbsuite.test.decorators import * +from lldbsuite.test_event.build_exception import BuildError + + +SKELETON_DEBUGINFO_SIZE = 602 +MAIN_DWO_DEBUGINFO_SIZE = 385 +FOO_DWO_DEBUGINFO_SIZE = 380 + + +class TestDebugInfoSize(lldbtest.TestBase): + + def get_output_from_yaml(self): + exe = self.getBuildArtifact("a.out") + main_dwo = self.getBuildArtifact("a.out-main.dwo") + foo_dwo = self.getBuildArtifact("a.out-foo.dwo") + + src_dir = self.getSourceDir() + exe_yaml_path = os.path.join(src_dir, "a.out.yaml") + self.yaml2obj(exe_yaml_path, exe) + + main_dwo_yaml_path = os.path.join(src_dir, "a.out-main.dwo.yaml") + self.yaml2obj(main_dwo_yaml_path, main_dwo) + + foo_dwo_yaml_path = os.path.join(src_dir, "a.out-foo.dwo.yaml") + self.yaml2obj(foo_dwo_yaml_path, foo_dwo) + return (exe, main_dwo, foo_dwo) + + @add_test_categories(["dwo"]) + def test_dwo(self): + (exe, main_dwo, foo_dwo) = self.get_output_from_yaml() + + # Make sure dwo files exist + self.assertTrue(os.path.exists(main_dwo), f'Make sure "{main_dwo}" file exists') + self.assertTrue(os.path.exists(foo_dwo), f'Make sure "{foo_dwo}" file exists') + + target = self.dbg.CreateTarget(exe) + self.assertTrue(target, lldbtest.VALID_TARGET) + + stats = target.GetStatistics() + stream = lldb.SBStream() + res = stats.GetAsJSON(stream) + debug_stats = json.loads(stream.GetData()) + self.assertEqual( + "totalDebugInfoByteSize" in debug_stats, + True, + 'Make sure the "totalDebugInfoByteSize" key is in target.GetStatistics()', + ) + self.assertEqual( + debug_stats["totalDebugInfoByteSize"], + SKELETON_DEBUGINFO_SIZE + MAIN_DWO_DEBUGINFO_SIZE + FOO_DWO_DEBUGINFO_SIZE, + ) + + @add_test_categories(["dwo"]) + def test_only_load_skeleton_debuginfo(self): + (exe, main_dwo, foo_dwo) = self.get_output_from_yaml() + + # REMOVE one of the dwo files + os.unlink(main_dwo) + os.unlink(foo_dwo) + + target = self.dbg.CreateTarget(exe) + self.assertTrue(target, lldbtest.VALID_TARGET) + + stats = target.GetStatistics() + stream = lldb.SBStream() + res = stats.GetAsJSON(stream) + debug_stats = json.loads(stream.GetData()) + self.assertEqual( + "totalDebugInfoByteSize" in debug_stats, + True, + 'Make sure the "totalDebugInfoByteSize" key is in target.GetStatistics()', + ) + self.assertEqual(debug_stats["totalDebugInfoByteSize"], SKELETON_DEBUGINFO_SIZE) + + @add_test_categories(["dwo"]) + def test_load_partial_dwos(self): + (exe, main_dwo, foo_dwo) = self.get_output_from_yaml() + + # REMOVE one of the dwo files + os.unlink(main_dwo) + + target = self.dbg.CreateTarget(exe) + self.assertTrue(target, lldbtest.VALID_TARGET) + + stats = target.GetStatistics() + stream = lldb.SBStream() + res = stats.GetAsJSON(stream) + debug_stats = json.loads(stream.GetData()) + self.assertEqual( + "totalDebugInfoByteSize" in debug_stats, + True, + 'Make sure the "totalDebugInfoByteSize" key is in target.GetStatistics()', + ) + self.assertEqual( + debug_stats["totalDebugInfoByteSize"], + SKELETON_DEBUGINFO_SIZE + FOO_DWO_DEBUGINFO_SIZE, + ) + + @add_test_categories(["dwo"]) + def test_dwos_loaded_symbols_on_demand(self): + (exe, main_dwo, foo_dwo) = self.get_output_from_yaml() + + # Make sure dwo files exist + self.assertTrue(os.path.exists(main_dwo), f'Make sure "{main_dwo}" file exists') + self.assertTrue(os.path.exists(foo_dwo), f'Make sure "{foo_dwo}" file exists') + + # Load symbols on-demand + self.runCmd("settings set symbols.load-on-demand true") + + target = self.dbg.CreateTarget(exe) + self.assertTrue(target, lldbtest.VALID_TARGET) + + stats = target.GetStatistics() + stream = lldb.SBStream() + res = stats.GetAsJSON(stream) + debug_stats = json.loads(stream.GetData()) + self.assertEqual( + "totalDebugInfoByteSize" in debug_stats, + True, + 'Make sure the "totalDebugInfoByteSize" key is in target.GetStatistics()', + ) + self.assertEqual( + debug_stats["totalDebugInfoByteSize"], + SKELETON_DEBUGINFO_SIZE + MAIN_DWO_DEBUGINFO_SIZE + FOO_DWO_DEBUGINFO_SIZE, + ) diff --git a/lldb/test/API/commands/target/debuginfo/a.out-foo.dwo.yaml b/lldb/test/API/commands/target/debuginfo/a.out-foo.dwo.yaml new file mode 100644 index 0000000000000..7a59fd67bc08b --- /dev/null +++ b/lldb/test/API/commands/target/debuginfo/a.out-foo.dwo.yaml @@ -0,0 +1,37 @@ +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_X86_64 + SectionHeaderStringTable: .strtab +Sections: + - Name: .debug_str_offsets.dwo + Type: SHT_PROGBITS + Flags: [ SHF_EXCLUDE ] + AddressAlign: 0x1 + Content: 180000000500000000000000040000000800000097000000F6000000 + - Name: .debug_str.dwo + Type: SHT_PROGBITS + Flags: [ SHF_EXCLUDE, SHF_MERGE, SHF_STRINGS ] + AddressAlign: 0x1 + EntSize: 0x1 + Content: 666F6F00696E740046616365626F6F6B20636C616E672076657273696F6E2031352E302E3020287373683A2F2F6769742E7669702E66616365626F6F6B2E636F6D2F646174612F6769747265706F732F6F736D6574612F65787465726E616C2F6C6C766D2D70726F6A656374203435616538646332373465366362636264343064353734353136643533343337393662653135323729002F686F6D652F6A65666672657974616E2F6C6C766D2D73616E642F65787465726E616C2F6C6C766D2D70726F6A6563742F6C6C64622F746573742F4150492F636F6D6D616E64732F7461726765742F6465627567696E666F2F666F6F2E6300612E6F75742D666F6F2E64776F00 + - Name: .debug_info.dwo + Type: SHT_PROGBITS + Flags: [ SHF_EXCLUDE ] + AddressAlign: 0x1 + Content: 2A0000000500050800000000495EA96AE5C99FC401021D00030402000B0000000156000003290000000301050400 + - Name: .debug_abbrev.dwo + Type: SHT_PROGBITS + Flags: [ SHF_EXCLUDE ] + AddressAlign: 0x1 + Content: 01110125251305032576250000022E00111B1206401803253A0B3B0B49133F19000003240003253E0B0B0B000000 + - Type: SectionHeaderTable + Sections: + - Name: .strtab + - Name: .debug_str_offsets.dwo + - Name: .debug_str.dwo + - Name: .debug_info.dwo + - Name: .debug_abbrev.dwo +... diff --git a/lldb/test/API/commands/target/debuginfo/a.out-main.dwo.yaml b/lldb/test/API/commands/target/debuginfo/a.out-main.dwo.yaml new file mode 100644 index 0000000000000..997158b8f918b --- /dev/null +++ b/lldb/test/API/commands/target/debuginfo/a.out-main.dwo.yaml @@ -0,0 +1,37 @@ +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_X86_64 + SectionHeaderStringTable: .strtab +Sections: + - Name: .debug_str_offsets.dwo + Type: SHT_PROGBITS + Flags: [ SHF_EXCLUDE ] + AddressAlign: 0x1 + Content: 180000000500000000000000050000000900000098000000F8000000 + - Name: .debug_str.dwo + Type: SHT_PROGBITS + Flags: [ SHF_EXCLUDE, SHF_MERGE, SHF_STRINGS ] + AddressAlign: 0x1 + EntSize: 0x1 + Content: 6D61696E00696E740046616365626F6F6B20636C616E672076657273696F6E2031352E302E3020287373683A2F2F6769742E7669702E66616365626F6F6B2E636F6D2F646174612F6769747265706F732F6F736D6574612F65787465726E616C2F6C6C766D2D70726F6A656374203435616538646332373465366362636264343064353734353136643533343337393662653135323729002F686F6D652F6A65666672657974616E2F6C6C766D2D73616E642F65787465726E616C2F6C6C766D2D70726F6A6563742F6C6C64622F746573742F4150492F636F6D6D616E64732F7461726765742F6465627567696E666F2F6D61696E2E6300612E6F75742D6D61696E2E64776F00 + - Name: .debug_info.dwo + Type: SHT_PROGBITS + Flags: [ SHF_EXCLUDE ] + AddressAlign: 0x1 + Content: 2A000000050005080000000037AA38DE48449DD701021D00030402001C0000000156000103290000000301050400 + - Name: .debug_abbrev.dwo + Type: SHT_PROGBITS + Flags: [ SHF_EXCLUDE ] + AddressAlign: 0x1 + Content: 01110125251305032576250000022E00111B1206401803253A0B3B0B271949133F19000003240003253E0B0B0B000000 + - Type: SectionHeaderTable + Sections: + - Name: .strtab + - Name: .debug_str_offsets.dwo + - Name: .debug_str.dwo + - Name: .debug_info.dwo + - Name: .debug_abbrev.dwo +... diff --git a/lldb/test/API/commands/target/debuginfo/a.out.yaml b/lldb/test/API/commands/target/debuginfo/a.out.yaml new file mode 100644 index 0000000000000..95578c358f497 --- /dev/null +++ b/lldb/test/API/commands/target/debuginfo/a.out.yaml @@ -0,0 +1,1273 @@ +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_DYN + Machine: EM_X86_64 + Entry: 0x4F0 +ProgramHeaders: + - Type: PT_PHDR + Flags: [ PF_R ] + VAddr: 0x40 + Align: 0x8 + Offset: 0x40 + - Type: PT_INTERP + Flags: [ PF_R ] + FirstSec: .interp + LastSec: .interp + VAddr: 0x238 + Offset: 0x238 + - Type: PT_LOAD + Flags: [ PF_X, PF_R ] + FirstSec: .interp + LastSec: .eh_frame + Align: 0x200000 + Offset: 0x0 + - Type: PT_LOAD + Flags: [ PF_W, PF_R ] + FirstSec: .init_array + LastSec: .bss + VAddr: 0x200DE0 + Align: 0x200000 + Offset: 0xDE0 + - Type: PT_DYNAMIC + Flags: [ PF_W, PF_R ] + FirstSec: .dynamic + LastSec: .dynamic + VAddr: 0x200DF8 + Align: 0x8 + Offset: 0xDF8 + - Type: PT_NOTE + Flags: [ PF_R ] + FirstSec: .note.ABI-tag + LastSec: .note.ABI-tag + VAddr: 0x254 + Align: 0x4 + Offset: 0x254 + - Type: PT_GNU_EH_FRAME + Flags: [ PF_R ] + FirstSec: .eh_frame_hdr + LastSec: .eh_frame_hdr + VAddr: 0x69C + Align: 0x4 + Offset: 0x69C + - Type: PT_GNU_STACK + Flags: [ PF_W, PF_R ] + Align: 0x10 + Offset: 0x0 + - Type: PT_GNU_RELRO + Flags: [ PF_R ] + FirstSec: .init_array + LastSec: .got + VAddr: 0x200DE0 + Offset: 0xDE0 +Sections: + - Name: .interp + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + Address: 0x238 + AddressAlign: 0x1 + Content: 2F6C696236342F6C642D6C696E75782D7838362D36342E736F2E3200 + - Name: .note.ABI-tag + Type: SHT_NOTE + Flags: [ SHF_ALLOC ] + Address: 0x254 + AddressAlign: 0x4 + Notes: + - Name: GNU + Desc: '00000000030000000200000000000000' + Type: NT_VERSION + - Name: .gnu.hash + Type: SHT_GNU_HASH + Flags: [ SHF_ALLOC ] + Address: 0x278 + Link: .dynsym + AddressAlign: 0x8 + Header: + SymNdx: 0x1 + Shift2: 0x0 + BloomFilter: [ 0x0 ] + HashBuckets: [ 0x0 ] + HashValues: [ ] + - Name: .dynsym + Type: SHT_DYNSYM + Flags: [ SHF_ALLOC ] + Address: 0x298 + Link: .dynstr + AddressAlign: 0x8 + - Name: .dynstr + Type: SHT_STRTAB + Flags: [ SHF_ALLOC ] + Address: 0x328 + AddressAlign: 0x1 + - Name: .gnu.version + Type: SHT_GNU_versym + Flags: [ SHF_ALLOC ] + Address: 0x3A6 + Link: .dynsym + AddressAlign: 0x2 + Entries: [ 0, 1, 2, 1, 1, 2 ] + - Name: .gnu.version_r + Type: SHT_GNU_verneed + Flags: [ SHF_ALLOC ] + Address: 0x3B8 + Link: .dynstr + AddressAlign: 0x8 + Dependencies: + - Version: 1 + File: libc.so.6 + Entries: + - Name: GLIBC_2.2.5 + Hash: 157882997 + Flags: 0 + Other: 2 + - Name: .rela.dyn + Type: SHT_RELA + Flags: [ SHF_ALLOC ] + Address: 0x3D8 + Link: .dynsym + AddressAlign: 0x8 + Relocations: + - Offset: 0x200DE0 + Type: R_X86_64_RELATIVE + Addend: 1488 + - Offset: 0x200DE8 + Type: R_X86_64_RELATIVE + Addend: 1424 + - Offset: 0x200DF0 + Type: R_X86_64_RELATIVE + Addend: 2100720 + - Offset: 0x200FD8 + Symbol: _ITM_deregisterTMCloneTable + Type: R_X86_64_GLOB_DAT + - Offset: 0x200FE0 + Symbol: __libc_start_main + Type: R_X86_64_GLOB_DAT + - Offset: 0x200FE8 + Symbol: __gmon_start__ + Type: R_X86_64_GLOB_DAT + - Offset: 0x200FF0 + Symbol: _ITM_registerTMCloneTable + Type: R_X86_64_GLOB_DAT + - Offset: 0x200FF8 + Symbol: __cxa_finalize + Type: R_X86_64_GLOB_DAT + - Name: .rela.plt + Type: SHT_RELA + Flags: [ SHF_ALLOC, SHF_INFO_LINK ] + Address: 0x498 + Link: .dynsym + AddressAlign: 0x8 + Info: .got.plt + Relocations: + - Offset: 0x201018 + Symbol: __cxa_finalize + Type: R_X86_64_JUMP_SLOT + - Name: .init + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC, SHF_EXECINSTR ] + Address: 0x4B0 + AddressAlign: 0x4 + Content: F30F1EFA4883EC08488B05290B20004885C07402FFD04883C408C3 + - Name: .plt + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC, SHF_EXECINSTR ] + Address: 0x4D0 + AddressAlign: 0x10 + EntSize: 0x10 + Content: FF35320B2000FF25340B20000F1F4000FF25320B20006800000000E9E0FFFFFF + - Name: .text + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC, SHF_EXECINSTR ] + Address: 0x4F0 + AddressAlign: 0x10 + Content: F30F1EFA31ED4989D15E4889E24883E4F050544C8D0576010000488D0DFF000000488D3DC8000000FF15C20A2000F490488D3D010B2000488D05FA0A20004839F87415488B059E0A20004885C07409FFE00F1F8000000000C30F1F8000000000488D3DD10A2000488D35CA0A20004829FE48C1FE034889F048C1E83F4801C648D1FE7414488B05750A20004885C07408FFE0660F1F440000C30F1F8000000000F30F1EFA803D890A200000752B5548833D520A2000004889E5740C488D3D3E082000E829FFFFFFE864FFFFFFC605610A2000015DC30F1F00C30F1F8000000000F30F1EFAE977FFFFFF0F1F8000000000554889E54883EC10C745FC00000000B000E80A0000004883C4105DC30F1F4000554889E5B8010000005DC30F1F440000F30F1EFA41574989D741564989F641554189FD41544C8D25B407200055488D2DB4072000534C29E54883EC08E86FFEFFFF48C1FD03741F31DB0F1F80000000004C89FA4C89F64489EF41FF14DC4883C3014839DD75EA4883C4085B5D415C415D415E415FC366662E0F1F840000000000F30F1EFAC3 + - Name: .fini + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC, SHF_EXECINSTR ] + Address: 0x688 + AddressAlign: 0x4 + Content: F30F1EFA4883EC084883C408C3 + - Name: .rodata + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC, SHF_MERGE ] + Address: 0x698 + AddressAlign: 0x4 + EntSize: 0x4 + Content: '01000200' + - Name: .eh_frame_hdr + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + Address: 0x69C + AddressAlign: 0x4 + Content: 011B033B380000000600000034FEFFFF6C00000054FEFFFF5400000044FFFFFF9400000064FFFFFFB400000074FFFFFFD4000000E4FFFFFF1C010000 + - Name: .eh_frame + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + Address: 0x6D8 + AddressAlign: 0x8 + Content: 1400000000000000017A5200017810011B0C070890010000140000001C000000F8FDFFFF2F00000000440710000000002400000034000000C0FDFFFF20000000000E10460E184A0F0B770880003F1A3B2A332422000000001C0000005C000000A8FEFFFF1C00000000410E108602430D06570C07080000001C0000007C000000A8FEFFFF0B00000000410E108602430D06460C0708000000440000009C00000098FEFFFF6500000000460E108F02450E188E03450E208D04450E288C05480E308606480E388307470E406E0E38410E30410E28420E20420E18420E10420E080010000000E4000000C0FEFFFF050000000000000000000000 + - Name: .init_array + Type: SHT_INIT_ARRAY + Flags: [ SHF_WRITE, SHF_ALLOC ] + Address: 0x200DE0 + AddressAlign: 0x8 + EntSize: 0x8 + Offset: 0xDE0 + Content: D005000000000000 + - Name: .fini_array + Type: SHT_FINI_ARRAY + Flags: [ SHF_WRITE, SHF_ALLOC ] + Address: 0x200DE8 + AddressAlign: 0x8 + EntSize: 0x8 + Content: '9005000000000000' + - Name: .data.rel.ro + Type: SHT_PROGBITS + Flags: [ SHF_WRITE, SHF_ALLOC ] + Address: 0x200DF0 + AddressAlign: 0x8 + Content: F00D200000000000 + - Name: .dynamic + Type: SHT_DYNAMIC + Flags: [ SHF_WRITE, SHF_ALLOC ] + Address: 0x200DF8 + Link: .dynstr + AddressAlign: 0x8 + Entries: + - Tag: DT_NEEDED + Value: 0x1 + - Tag: DT_INIT + Value: 0x4B0 + - Tag: DT_FINI + Value: 0x688 + - Tag: DT_INIT_ARRAY + Value: 0x200DE0 + - Tag: DT_INIT_ARRAYSZ + Value: 0x8 + - Tag: DT_FINI_ARRAY + Value: 0x200DE8 + - Tag: DT_FINI_ARRAYSZ + Value: 0x8 + - Tag: DT_GNU_HASH + Value: 0x278 + - Tag: DT_STRTAB + Value: 0x328 + - Tag: DT_SYMTAB + Value: 0x298 + - Tag: DT_STRSZ + Value: 0x7D + - Tag: DT_SYMENT + Value: 0x18 + - Tag: DT_DEBUG + Value: 0x0 + - Tag: DT_PLTGOT + Value: 0x201000 + - Tag: DT_PLTRELSZ + Value: 0x18 + - Tag: DT_PLTREL + Value: 0x7 + - Tag: DT_JMPREL + Value: 0x498 + - Tag: DT_RELA + Value: 0x3D8 + - Tag: DT_RELASZ + Value: 0xC0 + - Tag: DT_RELAENT + Value: 0x18 + - Tag: DT_FLAGS_1 + Value: 0x8000000 + - Tag: DT_VERNEED + Value: 0x3B8 + - Tag: DT_VERNEEDNUM + Value: 0x1 + - Tag: DT_VERSYM + Value: 0x3A6 + - Tag: DT_RELACOUNT + Value: 0x3 + - Tag: DT_NULL + Value: 0x0 + - Tag: DT_NULL + Value: 0x0 + - Tag: DT_NULL + Value: 0x0 + - Tag: DT_NULL + Value: 0x0 + - Tag: DT_NULL + Value: 0x0 + - Name: .got + Type: SHT_PROGBITS + Flags: [ SHF_WRITE, SHF_ALLOC ] + Address: 0x200FD8 + AddressAlign: 0x8 + EntSize: 0x8 + Content: '00000000000000000000000000000000000000000000000000000000000000000000000000000000' + - Name: .got.plt + Type: SHT_PROGBITS + Flags: [ SHF_WRITE, SHF_ALLOC ] + Address: 0x201000 + AddressAlign: 0x8 + EntSize: 0x8 + Content: F80D20000000000000000000000000000000000000000000E604000000000000 + - Name: .data + Type: SHT_PROGBITS + Flags: [ SHF_WRITE, SHF_ALLOC ] + Address: 0x201020 + AddressAlign: 0x1 + Content: '00000000' + - Name: .bss + Type: SHT_NOBITS + Flags: [ SHF_WRITE, SHF_ALLOC ] + Address: 0x201024 + AddressAlign: 0x1 + Size: 0x4 + - Name: .comment + Type: SHT_PROGBITS + Flags: [ SHF_MERGE, SHF_STRINGS ] + AddressAlign: 0x1 + EntSize: 0x1 + Content: 4743433A2028474E552920382E352E3020323032313035313420285265642048617420382E352E302D3231290046616365626F6F6B20636C616E672076657273696F6E2031352E302E3020287373683A2F2F6769742E7669702E66616365626F6F6B2E636F6D2F646174612F6769747265706F732F6F736D6574612F65787465726E616C2F6C6C766D2D70726F6A65637420343561653864633237346536636263626434306435373435313664353334333739366265313532372900 + - Name: .gnu.build.attributes + Type: SHT_NOTE + Address: 0x601028 + AddressAlign: 0x4 + Notes: + - Name: "GA$\x013p1113" + Desc: 1F050000000000001F05000000000000 + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05running gcc 8.5.0 20210514" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05annobin gcc 8.5.0 20210514" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05plugin name: gcc-annobin" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*GOW\0*\x05\x02" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\x02\0" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+stack_clash' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*cf_protection\0\b" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*FORTIFY\0�" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+GLIBCXX_ASSERTIONS' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\a\x03" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA!\b" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+omit_frame_pointer' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\x06\x12" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA!stack_realign' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x013p1113" + Desc: F004000000000000F004000000000000 + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05running gcc 8.5.0 20210514" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05annobin gcc 8.5.0 20210514" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05plugin name: gcc-annobin" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*GOW\0*\x05\x02" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\x02\0" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+stack_clash' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*cf_protection\0\b" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*FORTIFY\0�" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+GLIBCXX_ASSERTIONS' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\a\x03" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA!\b" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+omit_frame_pointer' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\x06\x12" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA!stack_realign' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x013p1113" + Desc: F004000000000000F004000000000000 + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05running gcc 8.5.0 20210514" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05annobin gcc 8.5.0 20210514" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05plugin name: gcc-annobin" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*GOW\0*\x05\x02" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\x02\0" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+stack_clash' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*cf_protection\0\b" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*FORTIFY\0�" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+GLIBCXX_ASSERTIONS' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\a\x03" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA!\b" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+omit_frame_pointer' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\x06\x12" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA!stack_realign' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x013p1113" + Desc: F004000000000000F004000000000000 + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05running gcc 8.5.0 20210514" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05annobin gcc 8.5.0 20210514" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05plugin name: gcc-annobin" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*GOW\0*\x05\x02" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\x02\0" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+stack_clash' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*cf_protection\0\b" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*FORTIFY\0�" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+GLIBCXX_ASSERTIONS' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\a\x03" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA!\b" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+omit_frame_pointer' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\x06\x12" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA!stack_realign' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x013p1113" + Desc: F004000000000000F004000000000000 + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05running gcc 8.5.0 20210514" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05annobin gcc 8.5.0 20210514" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05plugin name: gcc-annobin" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*GOW\0*\x05\x02" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\x02\0" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+stack_clash' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*cf_protection\0\b" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*FORTIFY\0�" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+GLIBCXX_ASSERTIONS' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\a\x03" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA!\b" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+omit_frame_pointer' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\x06\x12" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA!stack_realign' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x013a1" + Desc: F0040000000000001F05000000000000 + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x013a1" + Desc: 1F050000000000001F05000000000000 + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x013a1" + Desc: 1F050000000000001F05000000000000 + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x013a1" + Desc: B004000000000000C604000000000000 + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x013a1" + Desc: '88060000000000009006000000000000' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x013a1" + Desc: 2005000000000000D905000000000000 + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x013p1113" + Desc: '10060000000000008506000000000000' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05running gcc 8.5.0 20210514" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05annobin gcc 8.5.0 20210514" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05plugin name: gcc-annobin" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*GOW\0*\x05\x02" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\x02\x03" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+stack_clash' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*cf_protection\0\b" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*FORTIFY\0\x02" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+GLIBCXX_ASSERTIONS' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\a\x02" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA!\b" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+omit_frame_pointer' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\x06\x12" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA!stack_realign' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*FORTIFY\0\x02" + Desc: '10060000000000007506000000000000' + Type: NT_GNU_BUILD_ATTRIBUTE_FUNC + - Name: 'GA+GLIBCXX_ASSERTIONS' + Desc: '10060000000000007506000000000000' + Type: NT_GNU_BUILD_ATTRIBUTE_FUNC + - Name: "GA*FORTIFY\0\x02" + Desc: '75060000000000008506000000000000' + Type: NT_GNU_BUILD_ATTRIBUTE_FUNC + - Name: 'GA+GLIBCXX_ASSERTIONS' + Desc: '75060000000000008506000000000000' + Type: NT_GNU_BUILD_ATTRIBUTE_FUNC + - Name: "GA$\x013p1113" + Desc: F004000000000000F004000000000000 + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05running gcc 8.5.0 20210514" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05annobin gcc 8.5.0 20210514" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05plugin name: gcc-annobin" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*GOW\0*\x05\x02" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\x02\x03" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+stack_clash' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*cf_protection\0\b" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*FORTIFY\0\x02" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+GLIBCXX_ASSERTIONS' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\a\x02" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA!\b" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+omit_frame_pointer' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\x06\x12" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA!stack_realign' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x013p1113" + Desc: F004000000000000F004000000000000 + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05running gcc 8.5.0 20210514" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05annobin gcc 8.5.0 20210514" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05plugin name: gcc-annobin" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*GOW\0*\x05\x02" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\x02\x03" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+stack_clash' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*cf_protection\0\b" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*FORTIFY\0\x02" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+GLIBCXX_ASSERTIONS' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\a\x02" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA!\b" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+omit_frame_pointer' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\x06\x12" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA!stack_realign' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x013p1113" + Desc: F004000000000000F004000000000000 + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05running gcc 8.5.0 20210514" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05annobin gcc 8.5.0 20210514" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05plugin name: gcc-annobin" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*GOW\0*\x05\x02" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\x02\x03" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+stack_clash' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*cf_protection\0\b" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*FORTIFY\0\x02" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+GLIBCXX_ASSERTIONS' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\a\x02" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA!\b" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+omit_frame_pointer' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\x06\x12" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA!stack_realign' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x013p1113" + Desc: F004000000000000F004000000000000 + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05running gcc 8.5.0 20210514" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05annobin gcc 8.5.0 20210514" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x05plugin name: gcc-annobin" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*GOW\0*\x05\x02" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\x02\x03" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+stack_clash' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*cf_protection\0\b" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*FORTIFY\0\x02" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+GLIBCXX_ASSERTIONS' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\a\x02" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA!\b" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA+omit_frame_pointer' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA*\x06\x12" + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: 'GA!stack_realign' + Desc: '' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x013a1" + Desc: '85060000000000008506000000000000' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x013a1" + Desc: '85060000000000008506000000000000' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x013a1" + Desc: C604000000000000CB04000000000000 + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: "GA$\x013a1" + Desc: '90060000000000009506000000000000' + Type: NT_GNU_BUILD_ATTRIBUTE_OPEN + - Name: .debug_info + Type: SHT_PROGBITS + AddressAlign: 0x1 + Content: 24000000050004080000000037AA38DE48449DD70100000000080000000001001C00000008000000240000000500040817000000495EA96AE5C99FC4015F000000180000000001000B00000018000000 + - Name: .debug_abbrev + Type: SHT_PROGBITS + AddressAlign: 0x1 + Content: 014A00101772171B25B442197625111B12067317000000014A00101772171B25B442197625111B12067317000000 + - Name: .debug_line + Type: SHT_PROGBITS + AddressAlign: 0x1 + Content: 5B0000000500080037000000010101FB0E0D00010101010000000100000101011F010000000003011F020F051E010200000000CEBCB192A47C15B4C4C1CCEC9400444F0400000902E0050000000000001405190AE40512060B740206000101590000000500080037000000010101FB0E0D00010101010000000100000101011F010000000003011F020F051E016200000000E50309AC872C80EA355C846ACBBCF1660400000902000600000000000014050D0A4A060B580202000101 + - Name: .debug_str_offsets + Type: SHT_PROGBITS + AddressAlign: 0x1 + Content: 0C0000000500000000000000020000000C000000050000000000000011000000 + - Name: .debug_gnu_pubnames + Type: SHT_PROGBITS + AddressAlign: 0x1 + Content: 18000000020000000000280000001A000000306D61696E000000000017000000020028000000280000001A00000030666F6F0000000000 + - Name: .debug_gnu_pubtypes + Type: SHT_PROGBITS + AddressAlign: 0x1 + Content: 17000000020000000000280000002900000090696E74000000000017000000020028000000280000002900000090696E740000000000 + - Name: .debug_line_str + Type: SHT_PROGBITS + Flags: [ SHF_MERGE, SHF_STRINGS ] + AddressAlign: 0x1 + EntSize: 0x1 + Content: 2E002F686F6D652F6A65666672657974616E2F6C6C766D2D73616E642F65787465726E616C2F6C6C766D2D70726F6A6563742F6C6C64622F746573742F4150492F636F6D6D616E64732F7461726765742F6465627567696E666F2F6D61696E2E63002F686F6D652F6A65666672657974616E2F6C6C766D2D73616E642F65787465726E616C2F6C6C766D2D70726F6A6563742F6C6C64622F746573742F4150492F636F6D6D616E64732F7461726765742F6465627567696E666F2F666F6F2E6300 +Symbols: + - Name: .interp + Type: STT_SECTION + Section: .interp + Value: 0x238 + - Name: .note.ABI-tag + Type: STT_SECTION + Section: .note.ABI-tag + Value: 0x254 + - Name: .gnu.hash + Type: STT_SECTION + Section: .gnu.hash + Value: 0x278 + - Name: .dynsym + Type: STT_SECTION + Section: .dynsym + Value: 0x298 + - Name: .dynstr + Type: STT_SECTION + Section: .dynstr + Value: 0x328 + - Name: .gnu.version + Type: STT_SECTION + Section: .gnu.version + Value: 0x3A6 + - Name: .gnu.version_r + Type: STT_SECTION + Section: .gnu.version_r + Value: 0x3B8 + - Name: .rela.dyn + Type: STT_SECTION + Section: .rela.dyn + Value: 0x3D8 + - Name: .rela.plt + Type: STT_SECTION + Section: .rela.plt + Value: 0x498 + - Name: .init + Type: STT_SECTION + Section: .init + Value: 0x4B0 + - Name: .plt + Type: STT_SECTION + Section: .plt + Value: 0x4D0 + - Name: .text + Type: STT_SECTION + Section: .text + Value: 0x4F0 + - Name: .fini + Type: STT_SECTION + Section: .fini + Value: 0x688 + - Name: .rodata + Type: STT_SECTION + Section: .rodata + Value: 0x698 + - Name: .eh_frame_hdr + Type: STT_SECTION + Section: .eh_frame_hdr + Value: 0x69C + - Name: .eh_frame + Type: STT_SECTION + Section: .eh_frame + Value: 0x6D8 + - Name: .init_array + Type: STT_SECTION + Section: .init_array + Value: 0x200DE0 + - Name: .fini_array + Type: STT_SECTION + Section: .fini_array + Value: 0x200DE8 + - Name: .data.rel.ro + Type: STT_SECTION + Section: .data.rel.ro + Value: 0x200DF0 + - Name: .dynamic + Type: STT_SECTION + Section: .dynamic + Value: 0x200DF8 + - Name: .got + Type: STT_SECTION + Section: .got + Value: 0x200FD8 + - Name: .got.plt + Type: STT_SECTION + Section: .got.plt + Value: 0x201000 + - Name: .data + Type: STT_SECTION + Section: .data + Value: 0x201020 + - Name: .bss + Type: STT_SECTION + Section: .bss + Value: 0x201024 + - Name: .comment + Type: STT_SECTION + Section: .comment + - Name: .gnu.build.attributes + Type: STT_SECTION + Section: .gnu.build.attributes + Value: 0x601028 + - Name: .debug_info + Type: STT_SECTION + Section: .debug_info + - Name: .debug_abbrev + Type: STT_SECTION + Section: .debug_abbrev + - Name: .debug_line + Type: STT_SECTION + Section: .debug_line + - Name: .debug_str + Type: STT_SECTION + Section: .debug_str + - Name: .debug_addr + Type: STT_SECTION + Section: .debug_addr + - Name: .debug_str_offsets + Type: STT_SECTION + Section: .debug_str_offsets + - Name: .debug_gnu_pubnames + Type: STT_SECTION + Section: .debug_gnu_pubnames + - Name: .debug_gnu_pubtypes + Type: STT_SECTION + Section: .debug_gnu_pubtypes + - Name: .debug_line_str + Type: STT_SECTION + Section: .debug_line_str + - Name: '/usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/Scrt1.o' + Type: STT_FILE + Index: SHN_ABS + - Name: .annobin_init.c + Section: .text + Value: 0x51F + Other: [ STV_HIDDEN ] + - Name: .annobin_init.c_end + Section: .text + Value: 0x51F + Other: [ STV_HIDDEN ] + - Name: .annobin_init.c.hot + Section: .text + Value: 0x4F0 + Other: [ STV_HIDDEN ] + - Name: .annobin_init.c_end.hot + Section: .text + Value: 0x4F0 + Other: [ STV_HIDDEN ] + - Name: .annobin_init.c.unlikely + Section: .text + Value: 0x4F0 + Other: [ STV_HIDDEN ] + - Name: .annobin_init.c_end.unlikely + Section: .text + Value: 0x4F0 + Other: [ STV_HIDDEN ] + - Name: .annobin_init.c.startup + Section: .text + Value: 0x4F0 + Other: [ STV_HIDDEN ] + - Name: .annobin_init.c_end.startup + Section: .text + Value: 0x4F0 + Other: [ STV_HIDDEN ] + - Name: .annobin_init.c.exit + Section: .text + Value: 0x4F0 + Other: [ STV_HIDDEN ] + - Name: .annobin_init.c_end.exit + Section: .text + Value: 0x4F0 + Other: [ STV_HIDDEN ] + - Name: elf-init.oS + Type: STT_FILE + Index: SHN_ABS + - Name: .annobin_elf_init.c + Section: .text + Value: 0x610 + Other: [ STV_HIDDEN ] + - Name: .annobin_elf_init.c_end + Section: .text + Value: 0x685 + Other: [ STV_HIDDEN ] + - Name: .annobin_elf_init.c.hot + Section: .text + Value: 0x4F0 + Other: [ STV_HIDDEN ] + - Name: .annobin_elf_init.c_end.hot + Section: .text + Value: 0x4F0 + Other: [ STV_HIDDEN ] + - Name: .annobin_elf_init.c.unlikely + Section: .text + Value: 0x4F0 + Other: [ STV_HIDDEN ] + - Name: .annobin_elf_init.c_end.unlikely + Section: .text + Value: 0x4F0 + Other: [ STV_HIDDEN ] + - Name: .annobin_elf_init.c.startup + Section: .text + Value: 0x4F0 + Other: [ STV_HIDDEN ] + - Name: .annobin_elf_init.c_end.startup + Section: .text + Value: 0x4F0 + Other: [ STV_HIDDEN ] + - Name: .annobin_elf_init.c.exit + Section: .text + Value: 0x4F0 + Other: [ STV_HIDDEN ] + - Name: .annobin_elf_init.c_end.exit + Section: .text + Value: 0x4F0 + Other: [ STV_HIDDEN ] + - Name: .annobin___libc_csu_init.start + Section: .text + Value: 0x610 + Other: [ STV_HIDDEN ] + - Name: .annobin___libc_csu_init.end + Section: .text + Value: 0x675 + Other: [ STV_HIDDEN ] + - Name: .annobin___libc_csu_fini.start + Section: .text + Value: 0x675 + Other: [ STV_HIDDEN ] + - Name: .annobin___libc_csu_fini.end + Section: .text + Value: 0x685 + Other: [ STV_HIDDEN ] + - Name: crtstuff.c + Type: STT_FILE + Index: SHN_ABS + - Name: deregister_tm_clones + Type: STT_FUNC + Section: .text + Value: 0x520 + - Name: register_tm_clones + Type: STT_FUNC + Section: .text + Value: 0x550 + - Name: __do_global_dtors_aux + Type: STT_FUNC + Section: .text + Value: 0x590 + - Name: completed.7303 + Type: STT_OBJECT + Section: .bss + Value: 0x201024 + Size: 0x1 + - Name: __do_global_dtors_aux_fini_array_entry + Type: STT_OBJECT + Section: .fini_array + Value: 0x200DE8 + - Name: frame_dummy + Type: STT_FUNC + Section: .text + Value: 0x5D0 + - Name: __frame_dummy_init_array_entry + Type: STT_OBJECT + Section: .init_array + Value: 0x200DE0 + - Name: main.c + Type: STT_FILE + Index: SHN_ABS + - Name: foo.c + Type: STT_FILE + Index: SHN_ABS + - Name: 'crtstuff.c (1)' + Type: STT_FILE + Index: SHN_ABS + - Name: __FRAME_END__ + Type: STT_OBJECT + Section: .eh_frame + Value: 0x7CC + - Type: STT_FILE + Index: SHN_ABS + - Name: __init_array_end + Section: .init_array + Value: 0x200DE8 + - Name: _DYNAMIC + Type: STT_OBJECT + Section: .dynamic + Value: 0x200DF8 + - Name: __init_array_start + Section: .init_array + Value: 0x200DE0 + - Name: __GNU_EH_FRAME_HDR + Section: .eh_frame_hdr + Value: 0x69C + - Name: _GLOBAL_OFFSET_TABLE_ + Type: STT_OBJECT + Section: .got.plt + Value: 0x201000 + - Name: _init + Type: STT_FUNC + Section: .init + Value: 0x4B0 + - Name: __libc_csu_fini + Type: STT_FUNC + Section: .text + Binding: STB_GLOBAL + Value: 0x680 + Size: 0x5 + - Name: _ITM_deregisterTMCloneTable + Binding: STB_WEAK + - Name: data_start + Section: .data + Binding: STB_WEAK + Value: 0x201020 + - Name: _edata + Section: .data + Binding: STB_GLOBAL + Value: 0x201024 + - Name: _fini + Type: STT_FUNC + Section: .fini + Binding: STB_GLOBAL + Value: 0x688 + Other: [ STV_HIDDEN ] + - Name: '__libc_start_main@@GLIBC_2.2.5' + Type: STT_FUNC + Binding: STB_GLOBAL + - Name: __data_start + Section: .data + Binding: STB_GLOBAL + Value: 0x201020 + - Name: __gmon_start__ + Binding: STB_WEAK + - Name: __dso_handle + Type: STT_OBJECT + Section: .data.rel.ro + Binding: STB_GLOBAL + Value: 0x200DF0 + Other: [ STV_HIDDEN ] + - Name: _IO_stdin_used + Type: STT_OBJECT + Section: .rodata + Binding: STB_GLOBAL + Value: 0x698 + Size: 0x4 + - Name: __libc_csu_init + Type: STT_FUNC + Section: .text + Binding: STB_GLOBAL + Value: 0x610 + Size: 0x65 + - Name: foo + Type: STT_FUNC + Section: .text + Binding: STB_GLOBAL + Value: 0x600 + Size: 0xB + - Name: _end + Section: .bss + Binding: STB_GLOBAL + Value: 0x201028 + - Name: _start + Type: STT_FUNC + Section: .text + Binding: STB_GLOBAL + Value: 0x4F0 + Size: 0x2F + - Name: __bss_start + Section: .bss + Binding: STB_GLOBAL + Value: 0x201024 + - Name: main + Type: STT_FUNC + Section: .text + Binding: STB_GLOBAL + Value: 0x5E0 + Size: 0x1C + - Name: __TMC_END__ + Type: STT_OBJECT + Section: .data + Binding: STB_GLOBAL + Value: 0x201028 + Other: [ STV_HIDDEN ] + - Name: _ITM_registerTMCloneTable + Binding: STB_WEAK + - Name: '__cxa_finalize@@GLIBC_2.2.5' + Type: STT_FUNC + Binding: STB_WEAK +DynamicSymbols: + - Name: _ITM_deregisterTMCloneTable + Binding: STB_WEAK + - Name: __libc_start_main + Type: STT_FUNC + Binding: STB_GLOBAL + - Name: __gmon_start__ + Binding: STB_WEAK + - Name: _ITM_registerTMCloneTable + Binding: STB_WEAK + - Name: __cxa_finalize + Type: STT_FUNC + Binding: STB_WEAK +DWARF: + debug_str: + - . + - a.out-main.dwo + - a.out-foo.dwo + debug_addr: + - Length: 0xC + Version: 0x5 + AddressSize: 0x8 + Entries: + - Address: 0x5E0 + - Length: 0xC + Version: 0x5 + AddressSize: 0x8 + Entries: + - Address: 0x600 +... >From c100d2c74ff743c3ae41aa925a07f762a4ebe361 Mon Sep 17 00:00:00 2001 From: jeffreytan81 <jeffrey...@fb.com> Date: Wed, 31 Jan 2024 15:58:36 -0800 Subject: [PATCH 2/2] Fix python format/lint --- lldb/test/API/commands/target/debuginfo/TestDebugInfoSize.py | 1 - 1 file changed, 1 deletion(-) diff --git a/lldb/test/API/commands/target/debuginfo/TestDebugInfoSize.py b/lldb/test/API/commands/target/debuginfo/TestDebugInfoSize.py index ecb155d016a07..955c5871c89a9 100644 --- a/lldb/test/API/commands/target/debuginfo/TestDebugInfoSize.py +++ b/lldb/test/API/commands/target/debuginfo/TestDebugInfoSize.py @@ -16,7 +16,6 @@ class TestDebugInfoSize(lldbtest.TestBase): - def get_output_from_yaml(self): exe = self.getBuildArtifact("a.out") main_dwo = self.getBuildArtifact("a.out-main.dwo") _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits