diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h @@ -317,6 +317,21 @@ const lldb::ModuleSP &module_sp, std::vector> &base_classes, lldb_private::ClangASTImporter::LayoutInfo &layout_info); + + /// Parses DW_TAG_variant_part DIE into a structure that encodes all variants + /// Note that this is currently being emitted by rustc and not Clang + /// \param die DW_TAG_variant_part DIE to parse + /// \param parent_die The parent DW_TAG_structure_type to parse + /// \param class_clang_type The Rust struct representing parent_die. + /// \param default_accesibility The default accessibility that is given to + /// base classes if they don't have an explicit accessibility set + /// \param layout_info The layout information that will be updated for + // base classes with the base offset + void + ParseRustVariantPart(DWARFDIE &die, const DWARFDIE &parent_die, + lldb_private::CompilerType &class_clang_type, + const lldb::AccessType default_accesibility, + lldb_private::ClangASTImporter::LayoutInfo &layout_info); }; /// Parsed form of all attributes that are relevant for type reconstruction. diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp @@ -2496,8 +2496,163 @@ /// \see clang::ObjCPropertyAttribute uint32_t prop_attributes = 0; }; + +struct DiscriminantValue { + explicit DiscriminantValue(const DWARFDIE &die, ModuleSP module_sp); + + uint32_t byte_offset; + uint32_t byte_size; + DWARFFormValue type_ref; +}; + +struct VariantMember { + explicit VariantMember(DWARFDIE &die, ModuleSP module_sp); + bool IsDefault() const; + + std::optional discr_value; + DWARFFormValue type_ref; + ConstString variant_name; + uint32_t byte_offset; + ConstString GetName() const; +}; + +struct VariantPart { + explicit VariantPart(const DWARFDIE &die, const DWARFDIE &parent_die, + ModuleSP module_sp); + + std::vector &members(); + + DiscriminantValue &discriminant(); + +private: + std::vector _members; + DiscriminantValue _discriminant; +}; + } // namespace +ConstString VariantMember::GetName() const { return this->variant_name; } + +bool VariantMember::IsDefault() const { return !discr_value; } + +VariantMember::VariantMember(DWARFDIE &die, lldb::ModuleSP module_sp) { + assert(die.Tag() == llvm::dwarf::DW_TAG_variant); + this->discr_value = + die.GetAttributeValueAsOptionalUnsigned(DW_AT_discr_value); + + for (auto child_die : die.children()) { + switch (child_die.Tag()) { + case llvm::dwarf::DW_TAG_member: { + DWARFAttributes attributes = child_die.GetAttributes(); + for (std::size_t i = 0; i < attributes.Size(); ++i) { + DWARFFormValue form_value; + const dw_attr_t attr = attributes.AttributeAtIndex(i); + if (attributes.ExtractFormValueAtIndex(i, form_value)) { + switch (attr) { + case DW_AT_name: + variant_name = ConstString(form_value.AsCString()); + break; + case DW_AT_type: + type_ref = form_value; + break; + + case DW_AT_data_member_location: + if (form_value.BlockData()) { + Value initialValue(0); + Value memberOffset(0); + const DWARFDataExtractor &debug_info_data = die.GetData(); + uint32_t block_length = form_value.Unsigned(); + uint32_t block_offset = + form_value.BlockData() - debug_info_data.GetDataStart(); + if (DWARFExpression::Evaluate( + nullptr, // ExecutionContext * + nullptr, // RegisterContext * + module_sp, + DataExtractor(debug_info_data, block_offset, + block_length), + die.GetCU(), eRegisterKindDWARF, &initialValue, nullptr, + memberOffset, nullptr)) { + byte_offset = memberOffset.ResolveValue(nullptr).UInt(); + } + } else { + // With DWARF 3 and later, if the value is an integer constant, + // this form value is the offset in bytes from the beginning of + // the containing entity. + byte_offset = form_value.Unsigned(); + } + break; + + default: + break; + } + } + } + break; + } + default: + break; + } + break; + } +} + +DiscriminantValue::DiscriminantValue(const DWARFDIE &die, ModuleSP module_sp) { + auto referenced_die = die.GetReferencedDIE(DW_AT_discr); + DWARFAttributes attributes = referenced_die.GetAttributes(); + for (std::size_t i = 0; i < attributes.Size(); ++i) { + const dw_attr_t attr = attributes.AttributeAtIndex(i); + DWARFFormValue form_value; + if (attributes.ExtractFormValueAtIndex(i, form_value)) { + switch (attr) { + case DW_AT_type: + type_ref = form_value; + break; + case DW_AT_data_member_location: + if (form_value.BlockData()) { + Value initialValue(0); + Value memberOffset(0); + const DWARFDataExtractor &debug_info_data = die.GetData(); + uint32_t block_length = form_value.Unsigned(); + uint32_t block_offset = + form_value.BlockData() - debug_info_data.GetDataStart(); + if (DWARFExpression::Evaluate( + nullptr, // ExecutionContext * + nullptr, // RegisterContext * + module_sp, + DataExtractor(debug_info_data, block_offset, block_length), + die.GetCU(), eRegisterKindDWARF, &initialValue, nullptr, + memberOffset, nullptr)) { + byte_offset = memberOffset.ResolveValue(nullptr).UInt(); + } + } else { + // With DWARF 3 and later, if the value is an integer constant, + // this form value is the offset in bytes from the beginning of + // the containing entity. + byte_offset = form_value.Unsigned(); + } + break; + default: + break; + } + } + } +} + +VariantPart::VariantPart(const DWARFDIE &die, const DWARFDIE &parent_die, + lldb::ModuleSP module_sp) + : _members(), _discriminant(die, module_sp) { + + for (auto child : die.children()) { + if (child.Tag() == llvm::dwarf::DW_TAG_variant) { + _members.push_back(VariantMember(child, module_sp)); + } + } +} + +std::vector &VariantPart::members() { return this->_members; } + +DiscriminantValue &VariantPart::discriminant() { return this->_discriminant; } + MemberAttributes::MemberAttributes(const DWARFDIE &die, const DWARFDIE &parent_die, ModuleSP module_sp) { @@ -3021,6 +3176,13 @@ ParseObjCProperty(die, parent_die, class_clang_type, delayed_properties); break; + case DW_TAG_variant_part: + if (die.GetCU()->GetDWARFLanguageType() == eLanguageTypeRust) { + ParseRustVariantPart(die, parent_die, class_clang_type, + default_accessibility, layout_info); + } + break; + case DW_TAG_member: ParseSingleMember(die, parent_die, class_clang_type, default_accessibility, layout_info, last_field_info); @@ -3728,3 +3890,76 @@ return true; } + +void DWARFASTParserClang::ParseRustVariantPart( + DWARFDIE &die, const DWARFDIE &parent_die, CompilerType &class_clang_type, + const lldb::AccessType default_accesibility, + ClangASTImporter::LayoutInfo &layout_info) { + assert(die.Tag() == llvm::dwarf::DW_TAG_variant_part); + assert(SymbolFileDWARF::GetLanguage(*die.GetCU()) == + LanguageType::eLanguageTypeRust); + + ModuleSP module_sp = parent_die.GetDWARF()->GetObjectFile()->GetModule(); + + VariantPart variants(die, parent_die, module_sp); + + auto discriminant_type = + die.ResolveTypeUID(variants.discriminant().type_ref.Reference()); + + auto decl_context = m_ast.GetDeclContextForType(class_clang_type); + + auto inner_holder = m_ast.CreateRecordType( + decl_context, OptionalClangModuleID(), lldb::eAccessPublic, + std::string( + llvm::formatv("{0}$Inner", class_clang_type.GetTypeName(false))), + clang::TTK_Union, lldb::eLanguageTypeRust); + m_ast.StartTagDeclarationDefinition(inner_holder); + m_ast.SetIsPacked(inner_holder); + + for (auto member : variants.members()) { + + auto has_discriminant = !member.IsDefault(); + + auto member_type = die.ResolveTypeUID(member.type_ref.Reference()); + + auto field_type = m_ast.CreateRecordType( + m_ast.GetDeclContextForType(inner_holder), OptionalClangModuleID(), + lldb::eAccessPublic, + std::string(llvm::formatv("{0}$Variant", member.GetName())), + clang::TTK_Struct, lldb::eLanguageTypeRust); + + m_ast.StartTagDeclarationDefinition(field_type); + auto offset = member.byte_offset; + + if (has_discriminant) { + m_ast.AddFieldToRecordType( + field_type, "$discr$", discriminant_type->GetFullCompilerType(), + lldb::eAccessPublic, variants.discriminant().byte_offset); + offset += discriminant_type->GetByteSize(nullptr).value_or(0); + } + + m_ast.AddFieldToRecordType(field_type, "value", + member_type->GetFullCompilerType(), + lldb::eAccessPublic, offset * 8); + + m_ast.CompleteTagDeclarationDefinition(field_type); + + auto name = has_discriminant + ? llvm::formatv("$variant${0}", member.discr_value.value()) + : std::string("$variant$"); + + auto variant_decl = + m_ast.AddFieldToRecordType(inner_holder, llvm::StringRef(name), + field_type, default_accesibility, 0); + + layout_info.field_offsets.insert({variant_decl, 0}); + } + + auto inner_field = m_ast.AddFieldToRecordType(class_clang_type, + llvm::StringRef("$variants$"), + inner_holder, eAccessPublic, 0); + + m_ast.CompleteTagDeclarationDefinition(inner_holder); + + layout_info.field_offsets.insert({inner_field, 0}); +} diff --git a/lldb/test/API/lang/rust/enum-structs/RustEnumValue.py b/lldb/test/API/lang/rust/enum-structs/RustEnumValue.py new file mode 100644 --- /dev/null +++ b/lldb/test/API/lang/rust/enum-structs/RustEnumValue.py @@ -0,0 +1,63 @@ +"""Helper library to traverse data emitted for Rust enums """ +from lldbsuite.test.lldbtest import * + +DISCRIMINANT_MEMBER_NAME = "$discr$" +VALUE_MEMBER_NAME = "value" + +class RustEnumValue: + + def __init__(self, value: lldb.SBValue): + self.value = value + + def getAllVariantTypes(self): + result = [] + for i in range(self._inner().GetNumChildren()): + result.append(self.getVariantByIndex(i).GetDisplayTypeName()) + return result + + def _inner(self) -> lldb.SBValue: + return self.value.GetChildAtIndex(0) + + def getVariantByIndex(self, index): + return self._inner().GetChildAtIndex(index).GetChildMemberWithName(VALUE_MEMBER_NAME) + + @staticmethod + def _getDiscriminantValueAsUnsigned(discr_sbvalue: lldb.SBValue): + byte_size = discr_sbvalue.GetType().GetByteSize() + error = lldb.SBError() + + # when discriminant is u16 Clang emits 'unsigned char' + # and LLDB seems to treat it as character type disalowing to call GetValueAsUnsigned + if byte_size == 1: + return discr_sbvalue.GetData().GetUnsignedInt8(error, 0) + elif byte_size == 2: + return discr_sbvalue.GetData().GetUnsignedInt16(error, 0) + elif byte_size == 4: + return discr_sbvalue.GetData().GetUnsignedInt32(error, 0) + elif byte_size == 8: + return discr_sbvalue.GetData().GetUnsignedInt64(error, 0) + else: + return discr_sbvalue.GetValueAsUnsigned() + + def getCurrentVariantIndex(self): + default_index = 0 + for i in range(self._inner().GetNumChildren()): + variant: lldb.SBValue = self._inner().GetChildAtIndex(i); + discr = variant.GetChildMemberWithName(DISCRIMINANT_MEMBER_NAME) + if discr.IsValid(): + discr_unsigned_value = RustEnumValue._getDiscriminantValueAsUnsigned(discr) + if variant.GetName() == f"$variant${discr_unsigned_value}": + return discr_unsigned_value + else: + default_index = i + return default_index + + def getFields(self): + result = [] + for i in range(self._inner().GetNumChildren()): + type: lldb.SBType = self._inner().GetType() + result.append(type.GetFieldAtIndex(i).GetName()) + return result + + def getCurrentValue(self) -> lldb.SBValue: + return self.getVariantByIndex(self.getCurrentVariantIndex()) diff --git a/lldb/test/API/lang/rust/enum-structs/TestRustEnumStructs.py b/lldb/test/API/lang/rust/enum-structs/TestRustEnumStructs.py new file mode 100644 --- /dev/null +++ b/lldb/test/API/lang/rust/enum-structs/TestRustEnumStructs.py @@ -0,0 +1,219 @@ +"""Test that lldb recognizes enum structs emitted by Rust compiler """ +import logging + +import lldb +from lldbsuite.test.decorators import * +from lldbsuite.test.lldbtest import * +from RustEnumValue import RustEnumValue + + +class TestRustEnumStructs(TestBase): + def setUp(self): + TestBase.setUp(self) + src_dir = self.getSourceDir() + yaml_path = os.path.join(src_dir, "main.yaml") + obj_path = self.getBuildArtifact("main.o") + self.yaml2obj(yaml_path, obj_path) + self.dbg.CreateTarget(obj_path) + + def getFromGlobal(self, name): + values = self.target().FindGlobalVariables(name, 1) + self.assertEqual(values.GetSize(), 1) + return RustEnumValue(values[0]) + + def test_clike_enums_are_represented_correctly(self): + # these type of enums are not using DW_TAG_variant_part. + all_values = [ + self.target().FindFirstGlobalVariable("CLIKE_DEFAULT_A").GetValue(), + self.target().FindFirstGlobalVariable("CLIKE_DEFAULT_B").GetValue(), + self.target().FindFirstGlobalVariable("CLIKE_U8_A").GetValue(), + self.target().FindFirstGlobalVariable("CLIKE_U8_C").GetValue(), + self.target().FindFirstGlobalVariable("CLIKE_U32_A").GetValue(), + self.target().FindFirstGlobalVariable("CLIKE_U32_B").GetValue(), + ] + self.assertEqual(all_values, ['A', 'B', 'VariantA', 'VariantC', 'VariantA', 'VariantB']) + + def test_enum_with_tuples_has_all_variants(self): + self.assertEqual(self.getFromGlobal("ENUM_WITH_TUPLES_A").getAllVariantTypes(), + ['main::EnumWithTuples::A:8', + 'main::EnumWithTuples::B:8', + 'main::EnumWithTuples::C:8', + 'main::EnumWithTuples::D:8', + 'main::EnumWithTuples::AA:8', + 'main::EnumWithTuples::BB:8', + 'main::EnumWithTuples::BC:8', + 'main::EnumWithTuples::CC:8']) + + def test_enum_with_tuples_values_are_correct_a(self): + # static ENUM_WITH_TUPLES_A: EnumWithTuples = EnumWithTuples::A(13); + self.assertEqual( + self.getFromGlobal("ENUM_WITH_TUPLES_A").getCurrentValue().GetChildAtIndex(0).GetData().GetUnsignedInt8( + lldb.SBError(), 0), + 13) + + def test_enum_with_tuples_values_are_correct_aa(self): + # static ENUM_WITH_TUPLES_AA: EnumWithTuples = EnumWithTuples::AA(13, 37); + value = self.getFromGlobal("ENUM_WITH_TUPLES_AA").getCurrentValue() + self.assertEqual( + (value.GetChildAtIndex(0).GetData().GetUnsignedInt8( + lldb.SBError(), 0), + value.GetChildAtIndex(1).GetData().GetUnsignedInt8( + lldb.SBError(), 0)), + (13, 37)) + + def test_enum_with_tuples_values_are_correct_b(self): + # static ENUM_WITH_TUPLES_B: EnumWithTuples = EnumWithTuples::B(37); + self.assertEqual( + self.getFromGlobal("ENUM_WITH_TUPLES_B").getCurrentValue().GetChildAtIndex(0).GetData().GetUnsignedInt16( + lldb.SBError(), 0), + 37) + + def test_enum_with_tuples_values_are_correct_bb(self): + # static ENUM_WITH_TUPLES_BB: EnumWithTuples = EnumWithTuples::BB(37, 5535); + value = self.getFromGlobal("ENUM_WITH_TUPLES_BB").getCurrentValue() + self.assertEqual( + (value.GetChildAtIndex(0).GetData().GetUnsignedInt16(lldb.SBError(), 0), + value.GetChildAtIndex(1).GetData().GetUnsignedInt16(lldb.SBError(), 0)), + (37, 5535)) + + def test_enum_with_tuples_values_are_correct_bc(self): + # static ENUM_WITH_TUPLES_BC: EnumWithTuples = EnumWithTuples::BC(65000, 165000); + value = self.getFromGlobal("ENUM_WITH_TUPLES_BC").getCurrentValue() + self.assertEqual( + (value.GetChildAtIndex(0).GetData().GetUnsignedInt16(lldb.SBError(), 0), + value.GetChildAtIndex(1).GetData().GetUnsignedInt32(lldb.SBError(), 0)), + (65000, 165000)) + + def test_enum_with_tuples_values_are_correct_c(self): + # static ENUM_WITH_TUPLES_C: EnumWithTuples = EnumWithTuples::C(31337); + self.assertEqual( + self.getFromGlobal("ENUM_WITH_TUPLES_C").getCurrentValue().GetChildAtIndex(0).GetData().GetUnsignedInt32( + lldb.SBError(), 0), + 31337) + + def test_enum_with_tuples_values_are_correct_cc(self): + # static ENUM_WITH_TUPLES_CC: EnumWithTuples = EnumWithTuples::CC(31337, 87236); + value = self.getFromGlobal("ENUM_WITH_TUPLES_CC").getCurrentValue() + self.assertEqual( + (value.GetChildAtIndex(0).GetData().GetUnsignedInt32(lldb.SBError(), 0), + value.GetChildAtIndex(1).GetData().GetUnsignedInt32(lldb.SBError(), 0)), + (31337, 87236)) + + def test_enum_with_tuples_values_are_correct_d(self): + # static ENUM_WITH_TUPLES_D: EnumWithTuples = EnumWithTuples::D(123456789012345678); + self.assertEqual( + self.getFromGlobal("ENUM_WITH_TUPLES_D").getCurrentValue().GetChildAtIndex(0).GetData().GetUnsignedInt64( + lldb.SBError(), 0), + 123456789012345678) + + def test_mixed_enum_variants(self): + # static MIXED_ENUM_A: MixedEnum1 = MixedEnum1::A; + self.assertEqual(self.getFromGlobal("MIXED_ENUM_A").getAllVariantTypes(), ['main::MixedEnum::A:64', + 'main::MixedEnum::B:64', + 'main::MixedEnum::C:64', + 'main::MixedEnum::D:64', + 'main::MixedEnum::E:64']) + + def test_mixed_enum_a(self): + # static MIXED_ENUM_A: MixedEnum = MixedEnum::A; + value = self.getFromGlobal("MIXED_ENUM_A").getCurrentValue() + self.assertEqual(value.GetType().GetDisplayTypeName(), "main::MixedEnum::A") + self.assertEqual(value.GetValue(), None) + + def test_mixed_enum_c(self): + # static MIXED_ENUM_C: MixedEnum = MixedEnum::C(254, -254); + value = self.getFromGlobal("MIXED_ENUM_C").getCurrentValue() + self.assertEqual( + (value.GetChildAtIndex(0).GetData().GetUnsignedInt8(lldb.SBError(), 0), + value.GetChildAtIndex(1).GetData().GetSignedInt32(lldb.SBError(), 0)), + (254, -254)) + + def test_mixed_enum_d_none(self): + # static MIXED_ENUM_D_NONE: MixedEnum = MixedEnum::D(None); + value = RustEnumValue(self.getFromGlobal("MIXED_ENUM_D_NONE").getCurrentValue().GetChildAtIndex(0)) + self.assertEqual(value.getAllVariantTypes(), ["core::option::Option::None:32", + "core::option::Option::Some:32"]) + self.assertEqual(value.getCurrentValue().GetValue(), None) + self.assertEqual(value.getCurrentValue().GetType().GetDisplayTypeName(), + "core::option::Option::None") + + def test_mixed_enum_d_some(self): + # static MIXED_ENUM_D_SOME: MixedEnum = MixedEnum::D(Some(Struct2 { + # field: 123456, + # inner: Struct1 { field: 123 }, + # })); + variant_with_option = RustEnumValue( + self.getFromGlobal("MIXED_ENUM_D_SOME").getCurrentValue().GetChildAtIndex(0)) + + value_inside_option = variant_with_option.getCurrentValue().GetChildAtIndex(0) + self.assertEqual( + value_inside_option.GetChildMemberWithName("field").GetData().GetUnsignedInt32(lldb.SBError(), 0), 123456) + + self.assertEqual( + value_inside_option.GetChildMemberWithName("inner").GetChildMemberWithName( + "field").GetData().GetSignedInt32(lldb.SBError(), 0), + 123) + self.assertEqual(value_inside_option.GetType().GetDisplayTypeName(), "main::Struct2") + + def test_option_non_null_some_pointer(self): + type = self.target().FindFirstType("core::option::Option>") + # this type is "optimized" by rust compiler so the discriminant isn't present on Some variant of option + data = [1337] + pointer_size = self.target().GetAddressByteSize() + byte_order = self.target().GetByteOrder() + value = RustEnumValue(self.target().CreateValueFromData("adhoc_value", + lldb.SBData.CreateDataFromUInt64Array(byte_order, + pointer_size, + data), + type)) + self.assertEqual(value.getFields(), ["$variant$0", "$variant$"]) + self.assertEqual( + value.getCurrentValue().GetChildAtIndex(0).GetChildMemberWithName("pointer").GetValueAsUnsigned(), 1337) + + def test_option_non_null_none(self): + type = self.target().FindFirstType("core::option::Option>") + # this type is "optimized" by rust compiler so the discriminant isn't present on Some variant of option + # in this test case 0 is used to represent 'None' + data = [0] + pointer_size = self.target().GetAddressByteSize() + byte_order = self.target().GetByteOrder() + value = RustEnumValue(self.target().CreateValueFromData("adhoc_value", + lldb.SBData.CreateDataFromUInt64Array(byte_order, + pointer_size, + data), + type)) + self.assertEqual(value.getFields(), ["$variant$0", "$variant$"]) + self.assertEqual(value.getCurrentValue().GetValue(), None) + self.assertEqual(value.getCurrentValue().GetType().GetDisplayTypeName(), + "core::option::Option>::None >") + + def test_niche_layout_with_fields_2(self): + # static NICHE_W_FIELDS_2_A: NicheLayoutWithFields2 = + # NicheLayoutWithFields2::A(NonZeroU32::new(800).unwrap(), 900); + value = self.getFromGlobal("NICHE_W_FIELDS_2_A").getCurrentValue() + self.assertEqual( + ( + value.GetChildAtIndex(0).GetChildAtIndex(0).GetData().GetUnsignedInt32(lldb.SBError(), 0), + value.GetChildAtIndex(1).GetData().GetUnsignedInt32(lldb.SBError(), 0) + ), + (800, 900) + ) + + def test_niche_layout_with_fields_3_a(self): + # static NICHE_W_FIELDS_3_A: NicheLayoutWithFields3 = NicheLayoutWithFields3::A(137, true); + value = self.getFromGlobal("NICHE_W_FIELDS_3_A").getCurrentValue() + self.assertEqual( + ( + value.GetChildAtIndex(0).GetData().GetUnsignedInt8(lldb.SBError(), 0), + value.GetChildAtIndex(1).GetData().GetUnsignedInt8(lldb.SBError(), 0), + ), + (137, 1) + ) + + def test_niche_layout_with_fields_3_a(self): + # static NICHE_W_FIELDS_3_C: NicheLayoutWithFields3 = NicheLayoutWithFields3::C(false); + value = self.getFromGlobal("NICHE_W_FIELDS_3_C").getCurrentValue() + self.assertEqual( + value.GetChildAtIndex(0).GetData().GetUnsignedInt8(lldb.SBError(), 0), + 0 + ) diff --git a/lldb/test/API/lang/rust/enum-structs/main.rs b/lldb/test/API/lang/rust/enum-structs/main.rs new file mode 100644 --- /dev/null +++ b/lldb/test/API/lang/rust/enum-structs/main.rs @@ -0,0 +1,161 @@ +#![feature(repr128)] +#![feature(rustc_attrs)] +#![feature(const_option)] + +use core::num::{NonZeroI128, NonZeroU32}; + +/// This file was manually compiled with rustc as object file +/// obj2yaml tool was used to convert this to main.yaml +/// This is done in order to make the test portable since LLVM codebase tests don't have setup to compile Rust programs +/// no_std , no_main is used in order to make the object file as small as possible eliminating extra symbols from standard library +/// static global variables are used because they can be inspected on object file without starting the process + +/// Command: +/// rustc -g --emit=obj --crate-type=bin -C panic=abort -C link-arg=-nostdlib main.rs && obj2yaml main.o -o main.yaml +use core::ptr::NonNull; + +pub enum CLikeEnumDefault { + A = 2, + B = 10, +} + +#[repr(u8)] +pub enum CLikeEnumReprU8 { + VariantA, + VariantB, + VariantC, +} + +#[repr(u32)] +pub enum CLikeEnumReprU32 { + VariantA = 1, + VariantB = 2, + VariantC = 3, +} + +pub enum EnumWithTuples { + A(u8), + B(u16), + C(u32), + D(usize), + AA(u8, u8), + BB(u16, u16), + BC(u16, u32), + CC(u32, u32), + // no DD on purpose to have D = CC in size +} + +pub enum EnumWithStructs { + A(Struct1), + B(Struct2), +} + +#[repr(usize)] +pub enum MixedEnum { + A, + B(i32), + C(u8, i32), + D(Option), + E(EnumWithStructs), +} + +pub struct Struct1 { + field: i32, +} + +pub struct Struct2 { + field: u32, + inner: Struct1, +} + +pub struct NonNullHolder { + inner: Option>, +} + +pub enum NicheLayoutEnum { + Tag1, + Data { my_data: CLikeEnumDefault }, + Tag2, +} + +// The following three types will use a niche layout once +pub enum NicheLayoutWithFields1<'a> { + A(&'a u8, u32), + B(u32), +} + +pub enum NicheLayoutWithFields2 { + A(NonZeroU32, u64), + B(u64), +} + +pub enum NicheLayoutWithFields3 { + A(u8, bool), + B(u8), + C(bool), + D(u8), + E(u8), + F, +} + +#[repr(i128)] +enum DirectTag128 { + A(u32), + B(u32), +} + +static CLIKE_DEFAULT_A: CLikeEnumDefault = CLikeEnumDefault::A; +static CLIKE_DEFAULT_B: CLikeEnumDefault = CLikeEnumDefault::B; + +static CLIKE_U8_A: CLikeEnumReprU8 = CLikeEnumReprU8::VariantA; +static CLIKE_U8_B: CLikeEnumReprU8 = CLikeEnumReprU8::VariantB; +static CLIKE_U8_C: CLikeEnumReprU8 = CLikeEnumReprU8::VariantC; + +static CLIKE_U32_A: CLikeEnumReprU32 = CLikeEnumReprU32::VariantA; +static CLIKE_U32_B: CLikeEnumReprU32 = CLikeEnumReprU32::VariantB; +static CLIKE_U32_C: CLikeEnumReprU32 = CLikeEnumReprU32::VariantC; + +static ENUM_WITH_TUPLES_A: EnumWithTuples = EnumWithTuples::A(13); +static ENUM_WITH_TUPLES_AA: EnumWithTuples = EnumWithTuples::AA(13, 37); +static ENUM_WITH_TUPLES_B: EnumWithTuples = EnumWithTuples::B(37); +static ENUM_WITH_TUPLES_BB: EnumWithTuples = EnumWithTuples::BB(37, 5535); +static ENUM_WITH_TUPLES_BC: EnumWithTuples = EnumWithTuples::BC(65000, 165000); +static ENUM_WITH_TUPLES_C: EnumWithTuples = EnumWithTuples::C(31337); +static ENUM_WITH_TUPLES_CC: EnumWithTuples = EnumWithTuples::CC(31337, 87236); +static ENUM_WITH_TUPLES_D: EnumWithTuples = EnumWithTuples::D(123456789012345678); + +static MIXED_ENUM_A: MixedEnum = MixedEnum::A; +static MIXED_ENUM_B: MixedEnum = MixedEnum::B(-10); +static MIXED_ENUM_C: MixedEnum = MixedEnum::C(254, -254); +static MIXED_ENUM_D_NONE: MixedEnum = MixedEnum::D(None); +static MIXED_ENUM_D_SOME: MixedEnum = MixedEnum::D(Some(Struct2 { + field: 123456, + inner: Struct1 { field: 123 }, +})); + +static NICHE_W_FIELDS_1_A: NicheLayoutWithFields1 = NicheLayoutWithFields1::A(&77, 7); +static NICHE_W_FIELDS_1_B: NicheLayoutWithFields1 = NicheLayoutWithFields1::B(99); +static NICHE_W_FIELDS_2_A: NicheLayoutWithFields2 = + NicheLayoutWithFields2::A(NonZeroU32::new(800).unwrap(), 900); +static NICHE_W_FIELDS_2_B: NicheLayoutWithFields2 = NicheLayoutWithFields2::B(1000); +static NICHE_W_FIELDS_3_A: NicheLayoutWithFields3 = NicheLayoutWithFields3::A(137, true); +static NICHE_W_FIELDS_3_B: NicheLayoutWithFields3 = NicheLayoutWithFields3::B(12); +static NICHE_W_FIELDS_3_C: NicheLayoutWithFields3 = NicheLayoutWithFields3::C(false); +static NICHE_W_FIELDS_3_D: NicheLayoutWithFields3 = NicheLayoutWithFields3::D(34); +static NICHE_W_FIELDS_3_E: NicheLayoutWithFields3 = NicheLayoutWithFields3::E(56); +static NICHE_W_FIELDS_3_F: NicheLayoutWithFields3 = NicheLayoutWithFields3::F; + +static DIRECT_TAG_128_A: DirectTag128 = DirectTag128::A(12345); +static DIRECT_TAG_128_B: DirectTag128 = DirectTag128::B(6789); + +pub fn main() { + let niche_w_fields_1_a: NicheLayoutWithFields1 = NicheLayoutWithFields1::A(&77, 7); + let niche_w_fields_1_b: NicheLayoutWithFields1 = NicheLayoutWithFields1::B(99); + let direct_tag_128_a: DirectTag128 = DirectTag128::A(0xF1F2); + let direct_tag_128_b: DirectTag128 = DirectTag128::B(0xF3F4); + let non_null = unsafe { + NonNullHolder { + inner: NonNull::new(12345 as *mut u64), + } + }; +} diff --git a/lldb/test/API/lang/rust/enum-structs/main.yaml b/lldb/test/API/lang/rust/enum-structs/main.yaml new file mode 100644 --- /dev/null +++ b/lldb/test/API/lang/rust/enum-structs/main.yaml @@ -0,0 +1,3082 @@ +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_X86_64 + SectionHeaderStringTable: .strtab +Sections: + - Name: .text + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC, SHF_EXECINSTR ] + AddressAlign: 0x4 + - Name: .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC, SHF_EXECINSTR ] + AddressAlign: 0x10 + Content: 4883EC1848897C2408E8000000004883C418C3 + - Name: .text._ZN3std2rt10lang_start17h2b298beff3390667E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC, SHF_EXECINSTR ] + AddressAlign: 0x10 + Content: 4883EC3889C84889D14889F248897C2410488954241848894C24208844242F48897C2408488D7C2408488D3500000000440FB6C0FF150000000048890424488B042448894424304883C438C3 + - Name: '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE' + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC, SHF_EXECINSTR ] + AddressAlign: 0x10 + Content: 4883EC1848893C24488B3FE800000000E8000000008844240F488D4C240F48894C24100FB6C04883C418C3 + - Name: '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE' + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC, SHF_EXECINSTR ] + AddressAlign: 0x10 + Content: 4883EC1848897C2410488B3FE8000000004883C418C3 + - Name: .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC, SHF_EXECINSTR ] + AddressAlign: 0x10 + Content: 4883EC2848897C2408488D7C2408E80000000089442404EB1C488B7C2418E8000000000F0B4889C189D048894C241889442420EBE48B4424044883C428C3 + - Name: .gcc_except_table._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x4 + Content: FFFF0108090A2500132B0000 + - Name: .text._ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC, SHF_EXECINSTR ] + AddressAlign: 0x10 + Content: 4883EC1848897C2410FFD74883C418C3 + - Name: '.text._ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE' + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC, SHF_EXECINSTR ] + AddressAlign: 0x10 + Content: 48897C24F8C3 + - Name: '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E' + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC, SHF_EXECINSTR ] + AddressAlign: 0x10 + Content: 48897C24D848897C24F048897C24F84883FF000F94C034FFA801750B48C74424E000000000EB14488B4424D848894424E8488B4424E848894424E0488B4424E0C3 + - Name: '.text._ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E' + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC, SHF_EXECINSTR ] + AddressAlign: 0x10 + Content: 31C0C3 + - Name: .text._ZN4main4main17h7325ffd5ffbc49e1E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC, SHF_EXECINSTR ] + AddressAlign: 0x10 + Content: 4883EC58488D05000000004889442408C744240407000000C7042400000000C744241463000000C744241001000000C7442430F2F1000048C74424280000000048C744242000000000C7442448F4F3000048C74424400000000048C744243801000000BF39300000E80000000048894424504883C458C3 + - Name: .text.main + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC, SHF_EXECINSTR ] + AddressAlign: 0x10 + Content: 504889F2488B05000000008A004863F7488D3D0000000031C9E80000000059C3 + - Name: .data.rel.ro..L__unnamed_1 + Type: SHT_PROGBITS + Flags: [ SHF_WRITE, SHF_ALLOC ] + AddressAlign: 0x8 + Content: '000000000000000008000000000000000800000000000000000000000000000000000000000000000000000000000000' + - Name: .rodata._ZN4main15CLIKE_DEFAULT_A17hc455996da56e04cdE + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x1 + Content: '02' + - Name: .rodata._ZN4main15CLIKE_DEFAULT_B17h363cd69e0cdcbafdE + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x1 + Content: 0A + - Name: .rodata._ZN4main10CLIKE_U8_A17h9499b0bb03002d62E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x1 + Content: '00' + - Name: .rodata._ZN4main10CLIKE_U8_B17h79128c8c1e712c84E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x1 + Content: '01' + - Name: .rodata._ZN4main10CLIKE_U8_C17h2b694c5f3dd47839E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x1 + Content: '02' + - Name: .rodata._ZN4main11CLIKE_U32_A17h170c70900b005ed8E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x4 + Content: '01000000' + - Name: .rodata._ZN4main11CLIKE_U32_B17hd70ec618637ad315E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x4 + Content: '02000000' + - Name: .rodata._ZN4main11CLIKE_U32_C17h51ec19ef8d1f9972E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x4 + Content: '03000000' + - Name: .rodata._ZN4main18ENUM_WITH_TUPLES_A17h41303a2c8e509adfE + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x8 + Content: 000D0000000000000000000000000000 + - Name: .rodata._ZN4main19ENUM_WITH_TUPLES_AA17h6d79192ff537e3beE + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x8 + Content: 040D2500000000000000000000000000 + - Name: .rodata._ZN4main18ENUM_WITH_TUPLES_B17h67d8b0c484846519E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x8 + Content: '01002500000000000000000000000000' + - Name: .rodata._ZN4main19ENUM_WITH_TUPLES_BB17ha7335cbcf854acc3E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x8 + Content: 050025009F1500000000000000000000 + - Name: .rodata._ZN4main19ENUM_WITH_TUPLES_BC17h812363a982e748dcE + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x8 + Content: 0600E8FD888402000000000000000000 + - Name: .rodata._ZN4main18ENUM_WITH_TUPLES_C17hacad25cb7d0b3e1eE + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x8 + Content: 02000000697A00000000000000000000 + - Name: .rodata._ZN4main19ENUM_WITH_TUPLES_CC17h0774aa4ce6bfa016E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x8 + Content: 07000000697A0000C454010000000000 + - Name: .rodata._ZN4main18ENUM_WITH_TUPLES_D17h4731ab88c400dd95E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x8 + Content: 03000000000000004EF330A64B9BB601 + - Name: .rodata._ZN4main12MIXED_ENUM_A17ha55ef45ea3e427bcE + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x8 + Content: '000000000000000000000000000000000000000000000000' + - Name: .rodata._ZN4main12MIXED_ENUM_B17hcf18c7a95921e399E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x8 + Content: 0100000000000000F6FFFFFF000000000000000000000000 + - Name: .rodata._ZN4main12MIXED_ENUM_C17h5c3d9d01cbf81a21E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x8 + Content: 0200000000000000FE00000002FFFFFF0000000000000000 + - Name: .rodata._ZN4main17MIXED_ENUM_D_NONE17hcaef0fe0fe217d17E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x8 + Content: '030000000000000000000000000000000000000000000000' + - Name: .rodata._ZN4main17MIXED_ENUM_D_SOME17h798d0887278d0893E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x8 + Content: 03000000000000000100000040E201007B00000000000000 + - Name: .rodata..L__unnamed_2 + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x1 + Content: 4D + - Name: .data.rel.ro._ZN4main18NICHE_W_FIELDS_1_A17h65eeed3d0325eae0E + Type: SHT_PROGBITS + Flags: [ SHF_WRITE, SHF_ALLOC ] + AddressAlign: 0x8 + Content: '00000000070000000000000000000000' + - Name: .rodata._ZN4main18NICHE_W_FIELDS_1_B17hb659dddb70a08b8bE + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x8 + Content: '01000000630000000000000000000000' + - Name: .rodata._ZN4main18NICHE_W_FIELDS_2_A17h66f431dc0236eec2E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x8 + Content: '00000000200300008403000000000000' + - Name: .rodata._ZN4main18NICHE_W_FIELDS_2_B17hc147333272f8c6c6E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x8 + Content: '0100000000000000E803000000000000' + - Name: .rodata._ZN4main18NICHE_W_FIELDS_3_A17h6a085f505e2e34e6E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x1 + Content: '0189' + - Name: .rodata._ZN4main18NICHE_W_FIELDS_3_B17hd64758aabdd1bdccE + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x1 + Content: 020C + - Name: .rodata._ZN4main18NICHE_W_FIELDS_3_C17h127a1a3167bca956E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x1 + Content: '0300' + - Name: .rodata._ZN4main18NICHE_W_FIELDS_3_D17hbbc9256dbd7ab735E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x1 + Content: '0422' + - Name: .rodata._ZN4main18NICHE_W_FIELDS_3_E17h290f55577c37fd9eE + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x1 + Content: '0538' + - Name: .rodata._ZN4main18NICHE_W_FIELDS_3_F17h4e188761c9e19730E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x1 + Content: '0600' + - Name: .rodata._ZN4main16DIRECT_TAG_128_A17hb7cbb90b3722e375E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x8 + Content: '000000000000000000000000000000003930000000000000' + - Name: .rodata._ZN4main16DIRECT_TAG_128_B17hcb0558940d0b3df3E + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC ] + AddressAlign: 0x8 + Content: 01000000000000000000000000000000851A000000000000 + - Name: .debug_gdb_scripts + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC, SHF_MERGE, SHF_STRINGS ] + AddressAlign: 0x1 + EntSize: 0x1 + Content: 016764625F6C6F61645F727573745F7072657474795F7072696E746572732E707900 + - Name: .debug_abbrev + Type: SHT_PROGBITS + AddressAlign: 0x1 + Content: 011101250E1305030E10171B0EB44219110155170000023400030E4913021800000313011D13030E0B0B88010F0000040D00030E491388010F380B0000050F004913030E33060000062400030E3E0B0B0B0000073901030E0000081301030E0B0B88010F0000092E011101120640186E0E030E3A0B3B0B491300000A34000218030E88010F3A0B3B0B491300000B1D01311311011206580B590B570B00000C05000218311300000D1D01311311011206580B5905570B00000E34000218311300000F2F004913030E00001005000218030E3A0B3B0B49130000112E011101120640186E0E030E3A0B3B0B0000120B01551700001334000218030E3A0B3B0B49130000141D0131135517580B590B570B0000152E016E0E030E3A0B3B0549133C19000016050049130000172E011101120640186E0E030E3A0B3B054913000018050002183A0B3B05491300001934000218030E3A0B3B05491300001A150000001B3400030E49133A0B3B0B88010F02186E0E00001C040149136D19030E0B0B88010F00001D2800030E1C0F00001E3301151300001F0D00491388010F380B34190000201901160B0000211300030E0B0B88010F00002219010000232E011101120640186E0E030E3A0B3B0B6A190000240B01110112060000252E016E0E030E3A0B3B05200B0000263400030E3A0B3B054913000027050002183A0B3B0B49130000282E011101120640186E0E030E3A0B3B050000292E016E0E030E3A0B3B0B4913200B00002A0500030E3A0B3B0B491300002B2E016E0E030E3A0B3B0B49133C1900002C2E014713200B00002D3400030E88010F3A0B3B05491300002E0500030E3A0B3B05491300002F2E011101120640184713000000 + - Name: .debug_info + Type: SHT_PROGBITS + AddressAlign: 0x1 + Content: C50F00000400000000000801000000001C0000000000000000000000000000000000000000000000000002000000003D0000000903000000000000000003B500000000000000300804000000008B000000080004000000009F000000080804000000009F000000081004000000008B000000081804000000008B000000082004000000008B000000082800059800000000000000000000000600000000070006000000000708070000000007000000000700000000080000000008080400000000BA0200000800000900000000000000002B0000000157000000000000000004A6A40B00000A03910006000000000104A0BA0200000BC30E000000000000000000000300000004A65C0C02910FC90E00000DA20E0000000000000000000003000000065907100E029110A80E000000000F980000000000000000000900000000000000004C00000001570000000000000000049F9A0F0000100291100000000004A0BA020000100291180000000004A19A0F0000100291200000000004A2A10F00001002912F0000000004A3880B00000F98000000000000000000070000000007000000001100000000000000001300000001570000000000000000028310029108000000000283BA0200001200000000130291100000000002879800000014950C000000000000028A050E029100AB0C000000000FBA020000000000000F98000000000000000000000700000000070000000007000000000700000000080000000001010400000000880B00000100150000000000000000055102A40B000016950E000000000000000007000000000800000000010104000000001E0200000100150000000000000000065807A40B0000165002000000000700000000170000000000000000030000000157000000000000000006C408500200001802917806C40898000000190291700000000006C408980000000000000005C702000000000000000000001A07000000001B00000000E7020000016B0109030000000000000000000000001C880B00000000000001011D00000000021D000000000A001B00000000E7020000016C0109030000000000000000000000001B0000000033030000016E0109030000000000000000000000001C880B00000000000001011D00000000001D00000000011D0000000002001B0000000033030000016F0109030000000000000000000000001B000000003303000001700109030000000000000000000000001B000000009F03000001720409030000000000000000000000001C8F0B00000000000004041D00000000011D00000000021D0000000003001B000000009F03000001730409030000000000000000000000001B000000009F03000001740409030000000000000000000000001B000000000B0400000176080903000000000000000000000000080000000010081E170400001F880B00000100200004000000008F04000008000020010400000000A204000008000020020400000000B504000008000020030400000000C804000008000020040400000000DB04000008000020050400000000F90400000800002006040000000017050000080000200704000000003505000008000000080000000010080400000000880B0000010100080000000010080400000000960B00000202000800000000100804000000008F0B00000404000800000000100804000000009F000000080800080000000010080400000000880B000001010400000000880B0000010200080000000010080400000000960B000002020400000000960B0000020400080000000010080400000000960B0000020204000000008F0B00000404000800000000100804000000008F0B0000040404000000008F0B0000040800001B000000000B04000001770809030000000000000000000000001B000000000B04000001780809030000000000000000000000001B000000000B04000001790809030000000000000000000000001B000000000B040000017A0809030000000000000000000000001B000000000B040000017B0809030000000000000000000000001B000000000B040000017C0809030000000000000000000000001B000000000B040000017D0809030000000000000000000000001B0000000024060000017F080903000000000000000000000000080000000018081E300600001F9D0B00000800200004000000007E0600000800002001040000000085060000080000200204000000009806000008000020030400000000B606000008000020040400000000C90600000800000021000000001808080000000018080400000000A40B0000040800080000000018080400000000880B000001080400000000A40B0000040C00080000000018080400000000B50B00000408000800000000180804000000000E070000040800000800000000080404000000008F0B000004000400000000FB060000040400080000000004040400000000A40B000004000008000000000C041E1A0700001F8F0B00000400200004000000003E07000004000020010400000000510700000400000008000000000C040400000000FB06000004040008000000000C040400000000DD060000040400001B000000002406000001800809030000000000000000000000001B000000002406000001810809030000000000000000000000001B000000002406000001820809030000000000000000000000001B000000002406000001830809030000000000000000000000001B00000000E70700000188080903000000000000000000000000080000000010081EF30700001F8F0B0000040020000400000000170800000800002001040000000035080000080000000800000000100804000000007A0E0000080804000000008F0B00000404000800000000100804000000008F0B0000040400001B00000000E707000001890809030000000000000000000000001B000000007D080000018A080903000000000000000000000000080000000010081E890800001F8F0B0000040020000400000000AD08000008000020010400000000CB080000080000000800000000100804000000007B0C0000040404000000009D0B00000808000800000000100804000000009D0B0000080800001B000000007D080000018C0809030000000000000000000000001B0000000013090000018D010903000000000000000000000000080000000002011E1F0900001F880B000001002204000000007A090000010000200204000000009809000001000020030400000000AB09000001000020040400000000BE09000001000020050400000000D109000001000020060400000000E409000001000000080000000002010400000000880B000001010400000000870E0000010000080000000002010400000000880B0000010100080000000002010400000000870E0000010100080000000002010400000000880B0000010100080000000002010400000000880B000001010021000000000201001B0000000013090000018E0109030000000000000000000000001B0000000013090000018F0109030000000000000000000000001B000000001309000001900109030000000000000000000000001B000000001309000001910109030000000000000000000000001B000000001309000001920109030000000000000000000000001B00000000880A00000194080903000000000000000000000000080000000018081E940A00001F8E0E0000080020000400000000B80A000008000020010400000000CB0A0000080000000800000000180804000000008F0B00000410000800000000180804000000008F0B0000041000001B00000000880A0000019508090300000000000000000000000023000000000000000077000000015700000000000000000197240000000000000000530000000A02910000000000010198E7070000240000000000000000430000000A02911000000000010199E7070000240000000000000000290000000A0291200000000001019A880A00002400000000000000000F0000000A0291380000000001019B880A000000000000000006000000000701060000000007040600000000070206000000000708060000000005040700000000070000000008000000000C041EC10B00001F8F0B0000040020000400000000E50B000004000020010400000000F60B00000400000008000000000C040FDD060000000000000008000000000C040FDD060000000000000400000000DD06000004040000080000000008081E1F0C00001F9D0B0000080020000400000000420C0000080000220400000000530C000008000000080000000008080F1F0E00000000000000080000000008080F1F0E00000000000004000000001F0E00000800000000070000000007000000000800000000040404000000008F0B000004000000000700000000250000000000000000032401010F98000000000000002600000000032401980000000000070000000007000000000700000000090000000000000000160000000157000000000000000007FAA40B00002702911007FABB0F00002702910807FA980000000FB5000000000000000F9800000000000000000900000000000000003E0000000157000000000000000007FAA40B00002702910807FAB50000002702911007FA980000000FB5000000000000000F980000000000000000110000000000000000100000000157000000000000000007FA2702911007FABA0200002702910807FA980000000FBA020000000000000F9800000000000000000000000700000000280000000000000000060000000157000000000000000008F1011802917808F101BB0F00000FB50000000000000000070000000007000000002900000000000000000A22870E0000010F9D0B0000000000002A000000000A22D60E00000007000000002900000000000000000A24870E0000012A000000000A24E30E0000000000000700000000080000000008080F9D0B0000000000000400000000F00E000008002B000000000000000009C51F0E00000F9D0B00000000000016D60E0000002B000000000000000009DE130C00000F9D0B00000000000016D60E0000000000000005880B000000000000000000000600000000020106000000000510051E02000000000000000000002C30020000012D0000000001055102B60E000000051E02000000000000000000002C62020000012E000000000658075002000000059D0B0000000000000000000005880B00000000000000000000059D0B000000000000000000002C3A0E0000010F9D0B0000000000002A0000000009C5D60E0000002F0000000000000000410000000157580E0000100291700000000009DED60E00000BD10D000000000000000000000C00000009DF110C029170EA0D00000BFB0D00000000000000000000070000000A33120C0291780B0E000000000BFD0E000000000000000000000500000009E11B0C0291700C0F0000000F9D0B000000000000000600000000050805AE0F0000000000000000000005880B0000000000000000000005B5000000000000000000000000 + - Name: .debug_pubnames + Type: SHT_PROGBITS + AddressAlign: 0x1 + Content: B1050000020000000000C90F0000A00100006261636B747261636500B30700004D495845445F454E554D5F445F534F4D4500A600000073746400C70D00006D75745F70747200B00000006C616E675F737461727400D10D000069735F6E756C6C3C7536343E00B90C00006F707300790200007B696D706C2335337D00F60D000069735F6E756C6C00B00B00006F7074696F6E0085030000434C494B455F5533325F4100BD030000434C494B455F5533325F4200D7030000434C494B455F5533325F4300CD0700004E494348455F575F4649454C44535F315F4100490800004E494348455F575F4649454C44535F315F4200AB000000727400EC0900004E494348455F575F4649454C44535F335F4200200A00004E494348455F575F4649454C44535F335F44003A0A00004E494348455F575F4649454C44535F335F4500540A00004E494348455F575F4649454C44535F335F4600760C00006E6F6E7A65726F002A0000003C7374643A3A72743A3A6C616E675F73746172743A3A7B636C6F737572655F656E7623307D3C28293E20617320636F72653A3A6F70733A3A66756E6374696F6E3A3A466E3C28293E3E3A3A7B767461626C657D0054050000454E554D5F574954485F5455504C45535F4141007F0700004D495845445F454E554D5F4300650700004D495845445F454E554D5F4200950C0000626C61636B5F626F783C28293E000A0600004D495845445F454E554D5F4100DF0A00004449524543545F5441475F3132385F4200900C000068696E7400F90800004E494348455F575F4649454C44535F335F4100FB0D000072756E74696D655F696D706C00AA03000056617269616E744100B003000056617269616E744200B603000056617269616E7443006E0A00004449524543545F5441475F3132385F4100060A00004E494348455F575F4649454C44535F335F4300990700004D495845445F454E554D5F445F4E4F4E4500CC0D00007B696D706C23307D000A02000073797300F20200004100F802000042001902000070726F636573735F636F6D6D6F6E000F020000756E697800BE0C000066756E6374696F6E00AB0B0000636F7265000C0D000063616C6C5F6F6E63653C7374643A3A72743A3A6C616E675F73746172743A3A7B636C6F737572655F656E7623307D3C28293E2C2028293E00500D000063616C6C5F6F6E63653C666E28292C2028293E00CD020000434C494B455F44454641554C545F4100FF020000434C494B455F44454641554C545F420088050000454E554D5F574954485F5455504C45535F424200A2050000454E554D5F574954485F5455504C45535F424300C30E0000746F5F693332001A0E00006E6F6E5F6E756C6C0019030000434C494B455F55385F410051030000434C494B455F55385F42006B030000434C494B455F55385F4300930D0000707472007E0200007265706F727400980D000064726F705F696E5F706C6163653C7374643A3A72743A3A6C616E675F73746172743A3A7B636C6F737572655F656E7623307D3C28293E3E00A20E000061735F69333200180F00006E65773C7536343E00630800004E494348455F575F4649454C44535F325F4100F90A00006D61696E00DF0800004E494348455F575F4649454C44535F325F42009B0100007379735F636F6D6D6F6E00F1030000454E554D5F574954485F5455504C45535F41006E050000454E554D5F574954485F5455504C45535F4200BC050000454E554D5F574954485F5455504C45535F4300F0050000454E554D5F574954485F5455504C45535F4400710C00006E756D00D6050000454E554D5F574954485F5455504C45535F434300FD0E00006E65775F756E636865636B65643C7536343E00C80000007B636C6F7375726523307D3C28293E00C30C0000466E4F6E636500A50100005F5F727573745F626567696E5F73686F72745F6261636B74726163653C666E28292C2028293E003B0100006C616E675F73746172743C28293E004B02000070726F636573730000000000 + - Name: .debug_pubtypes + Type: SHT_PROGBITS + AddressAlign: 0x1 + Content: 47030000020000000000C90F000033030000434C696B65456E756D526570725538009A0F00006973697A65000E070000456E756D576974685374727563747300240600004D69786564456E756D00880B0000753800B60E00002A6D7574207374643A3A7379733A3A756E69783A3A70726F636573733A3A70726F636573735F636F6D6D6F6E3A3A45786974436F646500870E0000626F6F6C009F0000007573697A650098000000282900880A000044697265637454616731323800E30E00002A6D757420753800130C00004F7074696F6E3C636F72653A3A7074723A3A6E6F6E5F6E756C6C3A3A4E6F6E4E756C6C3C7536343E3E00FB0600005374727563743100DD0600005374727563743200BB0F00002A6D7574207374643A3A72743A3A6C616E675F73746172743A3A7B636C6F737572655F656E7623307D3C28293E00A10F00002A636F6E7374202A636F6E737420753800F00E00002A636F6E73742075363400AE0F00002A636F6E7374207538009D0B000075363400D60E00002A6D757420753634001F0E00004E6F6E4E756C6C3C7536343E008B0000002A636F6E737420282900E7020000434C696B65456E756D44656661756C7400B50B00004F7074696F6E3C6D61696E3A3A537472756374323E00BA020000666E2829007B0C00004E6F6E5A65726F553332008E0E00006931323800E70700004E696368654C61796F7574576974684669656C647331007D0800004E696368654C61796F7574576974684669656C64733200130900004E696368654C61796F7574576974684669656C647333003D0000003C7374643A3A72743A3A6C616E675F73746172743A3A7B636C6F737572655F656E7623307D3C28293E20617320636F72653A3A6F70733A3A66756E6374696F6E3A3A466E3C28293E3E3A3A7B767461626C655F747970657D000B040000456E756D576974685475706C657300A40B0000693332009F030000434C696B65456E756D52657072553332007A0E000026753800950E0000267374643A3A7379733A3A756E69783A3A70726F636573733A3A70726F636573735F636F6D6D6F6E3A3A45786974436F6465005002000045786974436F6465008F0B000075333200B50000007B636C6F737572655F656E7623307D3C28293E00960B00007531360000000000 + - Name: .data.DW.ref.rust_eh_personality + Type: SHT_PROGBITS + Flags: [ SHF_WRITE, SHF_ALLOC, SHF_GROUP ] + AddressAlign: 0x8 + Content: '0000000000000000' + - Name: .note.GNU-stack + Type: SHT_PROGBITS + AddressAlign: 0x1 + - Name: .eh_frame + Type: SHT_X86_64_UNWIND + Flags: [ SHF_ALLOC ] + AddressAlign: 0x8 + Content: 1400000000000000017A5200017810011B0C070890010000140000001C000000000000001300000000440E204E0E08001400000034000000000000004C00000000440E4002470E08140000004C000000000000002B00000000440E20660E08001400000064000000000000001600000000440E20510E0800140000007C000000000000001000000000440E204B0E0800100000009400000000000000060000000000000010000000A800000000000000410000000000000010000000BC00000000000000030000000000000014000000D0000000000000007700000000440E6002720E0814000000E8000000000000002000000000410E105E0E08001C00000000000000017A504C5200017810079B000000001B1B0C0708900100001800000024000000000000003E0000000400000000440E30790E0800 + - Name: .debug_line + Type: SHT_PROGBITS + AddressAlign: 0x1 + Content: E0030000040047020000010101FB0E0D000101010100000001000001737263002F72757374632F646136623535636335656166373665643661636237646332663764363131653332616637633961372F6C6962726172792F7374642F7372632F7379735F636F6D6D6F6E002F72757374632F646136623535636335656166373665643661636237646332663764363131653332616637633961372F6C6962726172792F636F72652F737263002F72757374632F646136623535636335656166373665643661636237646332663764363131653332616637633961372F6C6962726172792F7374642F737263002F72757374632F646136623535636335656166373665643661636237646332663764363131653332616637633961372F6C6962726172792F7374642F7372632F7379732F756E69782F70726F63657373002F72757374632F646136623535636335656166373665643661636237646332663764363131653332616637633961372F6C6962726172792F636F72652F7372632F6F7073002F72757374632F646136623535636335656166373665643661636237646332663764363131653332616637633961372F6C6962726172792F636F72652F7372632F70747200006D61696E2E7273000100006261636B74726163652E72730002000068696E742E72730003000072742E72730004000070726F636573735F636F6D6D6F6E2E72730005000070726F636573732E72730004000066756E6374696F6E2E7273000600006D6F642E7273000700006E6F6E5F6E756C6C2E7273000700006D75745F7074722E7273000700000004020009020000000000000000038201010403051B0A03A1014A0402051203E37E5804030505039E0158040205020B03E87E01020500010104040009020000000000000000039E0101050A0A08DD051157050C0608900502060B9702050001010404000902000000000000000003A50101054D0A820512063C040505090603AC030874040405640B03D47C3C02050001010407000902000000000000000003F9010105050A90060B8202050001010407000902000000000000000003F9010105050AD60603867E08660B03FA01083C02050001010407000902000000000000000003F9010105050A90060B2E02050001010408000902000000000000000003F0030105010A5802010001010409000902000000000000000003DD0101040A05250A03D57E9E050D0372580409050C03BA0174050D6A05098C0603A17E2E050D0603C901580318580506A202060001010406000902000000000000000003C3110105060A14020300010100090200000000000000000396010105360A4B089F052AF308910514089305099D05020B5C0205000101 + - Name: .group + Type: SHT_GROUP + Link: .symtab + AddressAlign: 0x4 + Info: DW.ref.rust_eh_personality + Members: + - SectionOrType: GRP_COMDAT + - SectionOrType: .data.DW.ref.rust_eh_personality + - SectionOrType: .rela.data.DW.ref.rust_eh_personality + - Name: .rela.text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + Type: SHT_RELA + Flags: [ SHF_INFO_LINK ] + Link: .symtab + AddressAlign: 0x8 + Info: .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + Relocations: + - Offset: 0xA + Symbol: .text._ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E + Type: R_X86_64_PLT32 + Addend: -4 + - Name: .rela.text._ZN3std2rt10lang_start17h2b298beff3390667E + Type: SHT_RELA + Flags: [ SHF_INFO_LINK ] + Link: .symtab + AddressAlign: 0x8 + Info: .text._ZN3std2rt10lang_start17h2b298beff3390667E + Relocations: + - Offset: 0x2C + Symbol: .data.rel.ro..L__unnamed_1 + Type: R_X86_64_PC32 + Addend: -4 + - Offset: 0x36 + Symbol: _ZN3std2rt19lang_start_internal17h53e91f0c64cf90ebE + Type: R_X86_64_GOTPCREL + Addend: -4 + - Name: '.rela.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE' + Type: SHT_RELA + Flags: [ SHF_INFO_LINK ] + Link: .symtab + AddressAlign: 0x8 + Info: '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE' + Relocations: + - Offset: 0xC + Symbol: .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + Type: R_X86_64_PLT32 + Addend: -4 + - Offset: 0x11 + Symbol: '.text._ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E' + Type: R_X86_64_PLT32 + Addend: -4 + - Name: '.rela.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE' + Type: SHT_RELA + Flags: [ SHF_INFO_LINK ] + Link: .symtab + AddressAlign: 0x8 + Info: '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE' + Relocations: + - Offset: 0xD + Symbol: .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE + Type: R_X86_64_PLT32 + Addend: -4 + - Name: .rela.text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE + Type: SHT_RELA + Flags: [ SHF_INFO_LINK ] + Link: .symtab + AddressAlign: 0x8 + Info: .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE + Relocations: + - Offset: 0xF + Symbol: '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE' + Type: R_X86_64_PLT32 + Addend: -4 + - Offset: 0x1F + Symbol: _Unwind_Resume + Type: R_X86_64_PLT32 + Addend: -4 + - Name: .rela.text._ZN4main4main17h7325ffd5ffbc49e1E + Type: SHT_RELA + Flags: [ SHF_INFO_LINK ] + Link: .symtab + AddressAlign: 0x8 + Info: .text._ZN4main4main17h7325ffd5ffbc49e1E + Relocations: + - Offset: 0x7 + Symbol: .rodata..L__unnamed_2 + Type: R_X86_64_PC32 + Addend: -4 + - Offset: 0x69 + Symbol: '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E' + Type: R_X86_64_PLT32 + Addend: -4 + - Name: .rela.text.main + Type: SHT_RELA + Flags: [ SHF_INFO_LINK ] + Link: .symtab + AddressAlign: 0x8 + Info: .text.main + Relocations: + - Offset: 0x7 + Symbol: __rustc_debug_gdb_scripts_section__ + Type: R_X86_64_GOTPCREL + Addend: -4 + - Offset: 0x13 + Symbol: .text._ZN4main4main17h7325ffd5ffbc49e1E + Type: R_X86_64_PC32 + Addend: -4 + - Offset: 0x1A + Symbol: _ZN3std2rt10lang_start17h2b298beff3390667E + Type: R_X86_64_PLT32 + Addend: -4 + - Name: .rela.data.rel.ro..L__unnamed_1 + Type: SHT_RELA + Flags: [ SHF_INFO_LINK ] + Link: .symtab + AddressAlign: 0x8 + Info: .data.rel.ro..L__unnamed_1 + Relocations: + - Symbol: '.text._ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE' + Type: R_X86_64_64 + - Offset: 0x18 + Symbol: '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE' + Type: R_X86_64_64 + - Offset: 0x20 + Symbol: '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE' + Type: R_X86_64_64 + - Offset: 0x28 + Symbol: '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE' + Type: R_X86_64_64 + - Name: .rela.data.rel.ro._ZN4main18NICHE_W_FIELDS_1_A17h65eeed3d0325eae0E + Type: SHT_RELA + Flags: [ SHF_INFO_LINK ] + Link: .symtab + AddressAlign: 0x8 + Info: .data.rel.ro._ZN4main18NICHE_W_FIELDS_1_A17h65eeed3d0325eae0E + Relocations: + - Offset: 0x8 + Symbol: .rodata..L__unnamed_2 + Type: R_X86_64_64 + - Name: .rela.debug_info + Type: SHT_RELA + Flags: [ SHF_INFO_LINK ] + Link: .symtab + AddressAlign: 0x8 + Info: .debug_info + Relocations: + - Offset: 0x6 + Symbol: .debug_abbrev + Type: R_X86_64_32 + - Offset: 0xC + Symbol: .debug_str + Type: R_X86_64_32 + - Offset: 0x12 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 65 + - Offset: 0x16 + Symbol: .debug_line + Type: R_X86_64_32 + - Offset: 0x1A + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 107 + - Offset: 0x26 + Symbol: .debug_ranges + Type: R_X86_64_32 + Addend: 96 + - Offset: 0x2B + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 138 + - Offset: 0x35 + Symbol: .data.rel.ro..L__unnamed_1 + Type: R_X86_64_64 + - Offset: 0x42 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 344 + - Offset: 0x49 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 222 + - Offset: 0x54 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 249 + - Offset: 0x5F + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 260 + - Offset: 0x6A + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 266 + - Offset: 0x75 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 276 + - Offset: 0x80 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 286 + - Offset: 0x90 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 239 + - Offset: 0x99 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 236 + - Offset: 0xA0 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 254 + - Offset: 0xA7 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 296 + - Offset: 0xAC + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 300 + - Offset: 0xB1 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 303 + - Offset: 0xB6 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 324 + - Offset: 0xBD + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 314 + - Offset: 0xC9 + Symbol: '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE' + Type: R_X86_64_64 + - Offset: 0xD7 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3995 + - Offset: 0xDB + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4068 + - Offset: 0xEA + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 314 + - Offset: 0xFA + Symbol: '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE' + Type: R_X86_64_64 + Addend: 35 + - Offset: 0x116 + Symbol: '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE' + Type: R_X86_64_64 + Addend: 35 + - Offset: 0x135 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1624 + - Offset: 0x13C + Symbol: .text._ZN3std2rt10lang_start17h2b298beff3390667E + Type: R_X86_64_64 + - Offset: 0x14A + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3931 + - Offset: 0x14E + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3974 + - Offset: 0x15C + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 314 + - Offset: 0x16A + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4692 + - Offset: 0x178 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4697 + - Offset: 0x186 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4729 + - Offset: 0x195 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1624 + - Offset: 0x19C + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2966 + - Offset: 0x1A1 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2977 + - Offset: 0x1A6 + Symbol: .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + Type: R_X86_64_64 + - Offset: 0x1B4 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3812 + - Offset: 0x1B8 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3892 + - Offset: 0x1C2 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4683 + - Offset: 0x1CD + Symbol: .debug_ranges + Type: R_X86_64_32 + - Offset: 0x1D5 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4685 + - Offset: 0x1E4 + Symbol: .debug_ranges + Type: R_X86_64_32 + Addend: 48 + - Offset: 0x1FA + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2337 + - Offset: 0x203 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1624 + - Offset: 0x20B + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2987 + - Offset: 0x210 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2991 + - Offset: 0x215 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2996 + - Offset: 0x21A + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3004 + - Offset: 0x21F + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3019 + - Offset: 0x226 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x231 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3028 + - Offset: 0x235 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3105 + - Offset: 0x24C + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2996 + - Offset: 0x251 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3019 + - Offset: 0x258 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x263 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3223 + - Offset: 0x267 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3275 + - Offset: 0x27A + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3802 + - Offset: 0x27F + Symbol: '.text._ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E' + Type: R_X86_64_64 + - Offset: 0x28D + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4555 + - Offset: 0x291 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4642 + - Offset: 0x2AB + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3163 + - Offset: 0x2BF + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 319 + - Offset: 0x2C9 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 314 + - Offset: 0x2CE + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 433 + - Offset: 0x2DB + Symbol: .rodata._ZN4main15CLIKE_DEFAULT_A17hc455996da56e04cdE + Type: R_X86_64_64 + - Offset: 0x2E3 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 473 + - Offset: 0x2EC + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 456 + - Offset: 0x2F3 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 452 + - Offset: 0x2F9 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 454 + - Offset: 0x300 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 519 + - Offset: 0x30D + Symbol: .rodata._ZN4main15CLIKE_DEFAULT_B17h363cd69e0cdcbafdE + Type: R_X86_64_64 + - Offset: 0x315 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 535 + - Offset: 0x31A + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 581 + - Offset: 0x327 + Symbol: .rodata._ZN4main10CLIKE_U8_A17h9499b0bb03002d62E + Type: R_X86_64_64 + - Offset: 0x32F + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 635 + - Offset: 0x338 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 619 + - Offset: 0x33F + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 592 + - Offset: 0x345 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 601 + - Offset: 0x34B + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 610 + - Offset: 0x352 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 676 + - Offset: 0x35F + Symbol: .rodata._ZN4main10CLIKE_U8_B17h79128c8c1e712c84E + Type: R_X86_64_64 + - Offset: 0x367 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 687 + - Offset: 0x36C + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 728 + - Offset: 0x379 + Symbol: .rodata._ZN4main10CLIKE_U8_C17h2b694c5f3dd47839E + Type: R_X86_64_64 + - Offset: 0x381 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 739 + - Offset: 0x386 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 780 + - Offset: 0x393 + Symbol: .rodata._ZN4main11CLIKE_U32_A17h170c70900b005ed8E + Type: R_X86_64_64 + - Offset: 0x39B + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 813 + - Offset: 0x3A4 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 796 + - Offset: 0x3AB + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 592 + - Offset: 0x3B1 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 601 + - Offset: 0x3B7 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 610 + - Offset: 0x3BE + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 855 + - Offset: 0x3CB + Symbol: .rodata._ZN4main11CLIKE_U32_B17hd70ec618637ad315E + Type: R_X86_64_64 + - Offset: 0x3D3 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 867 + - Offset: 0x3D8 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 909 + - Offset: 0x3E5 + Symbol: .rodata._ZN4main11CLIKE_U32_C17h51ec19ef8d1f9972E + Type: R_X86_64_64 + - Offset: 0x3ED + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 921 + - Offset: 0x3F2 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 963 + - Offset: 0x3FF + Symbol: .rodata._ZN4main18ENUM_WITH_TUPLES_A17h41303a2c8e509adfE + Type: R_X86_64_64 + - Offset: 0x407 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1025 + - Offset: 0x40C + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1010 + - Offset: 0x421 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 452 + - Offset: 0x42F + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 454 + - Offset: 0x43D + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 990 + - Offset: 0x44B + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 992 + - Offset: 0x459 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 994 + - Offset: 0x467 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1001 + - Offset: 0x475 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1004 + - Offset: 0x483 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1007 + - Offset: 0x490 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 452 + - Offset: 0x497 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x4A3 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 454 + - Offset: 0x4AA + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x4B6 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 990 + - Offset: 0x4BD + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x4C9 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 992 + - Offset: 0x4D0 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x4DC + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 994 + - Offset: 0x4E3 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x4EE + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 997 + - Offset: 0x4FA + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1001 + - Offset: 0x501 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x50C + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 997 + - Offset: 0x518 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1004 + - Offset: 0x51F + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x52A + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 997 + - Offset: 0x536 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1007 + - Offset: 0x53D + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x548 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 997 + - Offset: 0x555 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1074 + - Offset: 0x562 + Symbol: .rodata._ZN4main19ENUM_WITH_TUPLES_AA17h6d79192ff537e3beE + Type: R_X86_64_64 + - Offset: 0x56A + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1094 + - Offset: 0x56F + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1144 + - Offset: 0x57C + Symbol: .rodata._ZN4main18ENUM_WITH_TUPLES_B17h67d8b0c484846519E + Type: R_X86_64_64 + - Offset: 0x584 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1163 + - Offset: 0x589 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1212 + - Offset: 0x596 + Symbol: .rodata._ZN4main19ENUM_WITH_TUPLES_BB17ha7335cbcf854acc3E + Type: R_X86_64_64 + - Offset: 0x59E + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1232 + - Offset: 0x5A3 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1282 + - Offset: 0x5B0 + Symbol: .rodata._ZN4main19ENUM_WITH_TUPLES_BC17h812363a982e748dcE + Type: R_X86_64_64 + - Offset: 0x5B8 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1302 + - Offset: 0x5BD + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1352 + - Offset: 0x5CA + Symbol: .rodata._ZN4main18ENUM_WITH_TUPLES_C17hacad25cb7d0b3e1eE + Type: R_X86_64_64 + - Offset: 0x5D2 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1371 + - Offset: 0x5D7 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1420 + - Offset: 0x5E4 + Symbol: .rodata._ZN4main19ENUM_WITH_TUPLES_CC17h0774aa4ce6bfa016E + Type: R_X86_64_64 + - Offset: 0x5EC + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1440 + - Offset: 0x5F1 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1490 + - Offset: 0x5FE + Symbol: .rodata._ZN4main18ENUM_WITH_TUPLES_D17h4731ab88c400dd95E + Type: R_X86_64_64 + - Offset: 0x606 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1509 + - Offset: 0x60B + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1558 + - Offset: 0x618 + Symbol: .rodata._ZN4main12MIXED_ENUM_A17ha55ef45ea3e427bcE + Type: R_X86_64_64 + - Offset: 0x620 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1681 + - Offset: 0x625 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1671 + - Offset: 0x63A + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 452 + - Offset: 0x648 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 454 + - Offset: 0x656 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 990 + - Offset: 0x664 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 992 + - Offset: 0x672 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1653 + - Offset: 0x67F + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 452 + - Offset: 0x686 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 454 + - Offset: 0x68D + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x699 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 990 + - Offset: 0x6A0 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x6AB + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 997 + - Offset: 0x6B7 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 992 + - Offset: 0x6BE + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x6CA + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1653 + - Offset: 0x6D1 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x6DE + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1616 + - Offset: 0x6E5 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1596 + - Offset: 0x6F0 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1602 + - Offset: 0x6FC + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1608 + - Offset: 0x703 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1596 + - Offset: 0x70F + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1655 + - Offset: 0x724 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 452 + - Offset: 0x732 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 454 + - Offset: 0x73F + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 452 + - Offset: 0x746 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x752 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 454 + - Offset: 0x759 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x766 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1724 + - Offset: 0x773 + Symbol: .rodata._ZN4main12MIXED_ENUM_B17hcf18c7a95921e399E + Type: R_X86_64_64 + - Offset: 0x77B + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1737 + - Offset: 0x780 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1780 + - Offset: 0x78D + Symbol: .rodata._ZN4main12MIXED_ENUM_C17h5c3d9d01cbf81a21E + Type: R_X86_64_64 + - Offset: 0x795 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1793 + - Offset: 0x79A + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1836 + - Offset: 0x7A7 + Symbol: .rodata._ZN4main17MIXED_ENUM_D_NONE17hcaef0fe0fe217d17E + Type: R_X86_64_64 + - Offset: 0x7AF + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1854 + - Offset: 0x7B4 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1902 + - Offset: 0x7C1 + Symbol: .rodata._ZN4main17MIXED_ENUM_D_SOME17h798d0887278d0893E + Type: R_X86_64_64 + - Offset: 0x7C9 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1920 + - Offset: 0x7CE + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1968 + - Offset: 0x7DB + Symbol: .data.rel.ro._ZN4main18NICHE_W_FIELDS_1_A17h65eeed3d0325eae0E + Type: R_X86_64_64 + - Offset: 0x7E3 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2014 + - Offset: 0x7E8 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1991 + - Offset: 0x7FD + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 452 + - Offset: 0x80B + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 454 + - Offset: 0x818 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 452 + - Offset: 0x81F + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x82A + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 997 + - Offset: 0x836 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 454 + - Offset: 0x83D + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x84A + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2063 + - Offset: 0x857 + Symbol: .rodata._ZN4main18NICHE_W_FIELDS_1_B17hb659dddb70a08b8bE + Type: R_X86_64_64 + - Offset: 0x85F + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2082 + - Offset: 0x864 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2131 + - Offset: 0x871 + Symbol: .rodata._ZN4main18NICHE_W_FIELDS_2_A17h66f431dc0236eec2E + Type: R_X86_64_64 + - Offset: 0x879 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2196 + - Offset: 0x87E + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2173 + - Offset: 0x893 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 452 + - Offset: 0x8A1 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 454 + - Offset: 0x8AE + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 452 + - Offset: 0x8B5 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x8C0 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 997 + - Offset: 0x8CC + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 454 + - Offset: 0x8D3 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x8E0 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2245 + - Offset: 0x8ED + Symbol: .rodata._ZN4main18NICHE_W_FIELDS_2_B17hc147333272f8c6c6E + Type: R_X86_64_64 + - Offset: 0x8F5 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2264 + - Offset: 0x8FA + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2313 + - Offset: 0x907 + Symbol: .rodata._ZN4main18NICHE_W_FIELDS_3_A17h6a085f505e2e34e6E + Type: R_X86_64_64 + - Offset: 0x90F + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2362 + - Offset: 0x914 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2339 + - Offset: 0x928 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 452 + - Offset: 0x936 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 454 + - Offset: 0x944 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 990 + - Offset: 0x952 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 992 + - Offset: 0x960 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1653 + - Offset: 0x96E + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2337 + - Offset: 0x97B + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 452 + - Offset: 0x982 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x98D + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 997 + - Offset: 0x999 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 454 + - Offset: 0x9A0 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x9AC + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 990 + - Offset: 0x9B3 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x9BF + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 992 + - Offset: 0x9C6 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x9D2 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1653 + - Offset: 0x9D9 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0x9E5 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2337 + - Offset: 0x9ED + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2411 + - Offset: 0x9FA + Symbol: .rodata._ZN4main18NICHE_W_FIELDS_3_B17hd64758aabdd1bdccE + Type: R_X86_64_64 + - Offset: 0xA02 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2430 + - Offset: 0xA07 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2479 + - Offset: 0xA14 + Symbol: .rodata._ZN4main18NICHE_W_FIELDS_3_C17h127a1a3167bca956E + Type: R_X86_64_64 + - Offset: 0xA1C + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2498 + - Offset: 0xA21 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2547 + - Offset: 0xA2E + Symbol: .rodata._ZN4main18NICHE_W_FIELDS_3_D17hbbc9256dbd7ab735E + Type: R_X86_64_64 + - Offset: 0xA36 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2566 + - Offset: 0xA3B + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2615 + - Offset: 0xA48 + Symbol: .rodata._ZN4main18NICHE_W_FIELDS_3_E17h290f55577c37fd9eE + Type: R_X86_64_64 + - Offset: 0xA50 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2634 + - Offset: 0xA55 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2683 + - Offset: 0xA62 + Symbol: .rodata._ZN4main18NICHE_W_FIELDS_3_F17h4e188761c9e19730E + Type: R_X86_64_64 + - Offset: 0xA6A + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2702 + - Offset: 0xA6F + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2751 + - Offset: 0xA7C + Symbol: .rodata._ZN4main16DIRECT_TAG_128_A17hb7cbb90b3722e375E + Type: R_X86_64_64 + - Offset: 0xA84 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2786 + - Offset: 0xA89 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2773 + - Offset: 0xA9E + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 452 + - Offset: 0xAAC + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 454 + - Offset: 0xAB9 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 452 + - Offset: 0xAC0 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0xACC + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 454 + - Offset: 0xAD3 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0xAE0 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2833 + - Offset: 0xAED + Symbol: .rodata._ZN4main16DIRECT_TAG_128_B17hcb0558940d0b3df3E + Type: R_X86_64_64 + - Offset: 0xAF5 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2850 + - Offset: 0xAFA + Symbol: .text._ZN4main4main17h7325ffd5ffbc49e1E + Type: R_X86_64_64 + - Offset: 0xB08 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4649 + - Offset: 0xB0C + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 314 + - Offset: 0xB13 + Symbol: .text._ZN4main4main17h7325ffd5ffbc49e1E + Type: R_X86_64_64 + Addend: 31 + - Offset: 0xB23 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4783 + - Offset: 0xB2F + Symbol: .text._ZN4main4main17h7325ffd5ffbc49e1E + Type: R_X86_64_64 + Addend: 47 + - Offset: 0xB3F + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4802 + - Offset: 0xB4B + Symbol: .text._ZN4main4main17h7325ffd5ffbc49e1E + Type: R_X86_64_64 + Addend: 73 + - Offset: 0xB5B + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4821 + - Offset: 0xB67 + Symbol: .text._ZN4main4main17h7325ffd5ffbc49e1E + Type: R_X86_64_64 + Addend: 99 + - Offset: 0xB77 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4838 + - Offset: 0xB89 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 449 + - Offset: 0xB90 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 792 + - Offset: 0xB97 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 986 + - Offset: 0xB9E + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1571 + - Offset: 0xBA5 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1575 + - Offset: 0xBAC + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1579 + - Offset: 0xBB1 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1584 + - Offset: 0xBB6 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1631 + - Offset: 0xBCB + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1591 + - Offset: 0xBD9 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1626 + - Offset: 0xBE6 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1591 + - Offset: 0xBF1 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1624 + - Offset: 0xBF7 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1626 + - Offset: 0xC02 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1624 + - Offset: 0xC07 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0xC14 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3760 + - Offset: 0xC29 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1591 + - Offset: 0xC36 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1626 + - Offset: 0xC43 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1591 + - Offset: 0xC4E + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1624 + - Offset: 0xC54 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1626 + - Offset: 0xC5F + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1624 + - Offset: 0xC64 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0xC72 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2150 + - Offset: 0xC77 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2154 + - Offset: 0xC7C + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2162 + - Offset: 0xC83 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 982 + - Offset: 0xC91 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2897 + - Offset: 0xC96 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2902 + - Offset: 0xC9A + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2946 + - Offset: 0xCA7 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1624 + - Offset: 0xCAC + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2960 + - Offset: 0xCBA + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3282 + - Offset: 0xCBF + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3286 + - Offset: 0xCC4 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3295 + - Offset: 0xCC9 + Symbol: '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE' + Type: R_X86_64_64 + - Offset: 0xCD7 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4094 + - Offset: 0xCDB + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4185 + - Offset: 0xCFE + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4084 + - Offset: 0xD07 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4089 + - Offset: 0xD0D + Symbol: .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE + Type: R_X86_64_64 + - Offset: 0xD1B + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4241 + - Offset: 0xD1F + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4185 + - Offset: 0xD42 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4084 + - Offset: 0xD4B + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4089 + - Offset: 0xD51 + Symbol: .text._ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E + Type: R_X86_64_64 + - Offset: 0xD5F + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4300 + - Offset: 0xD63 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4359 + - Offset: 0xD82 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4084 + - Offset: 0xD8B + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4089 + - Offset: 0xD94 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3302 + - Offset: 0xD99 + Symbol: '.text._ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE' + Type: R_X86_64_64 + - Offset: 0xDA7 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4379 + - Offset: 0xDAB + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4499 + - Offset: 0xDC2 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1624 + - Offset: 0xDC8 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3306 + - Offset: 0xDCD + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3314 + - Offset: 0xDD2 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3323 + - Offset: 0xDD6 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3405 + - Offset: 0xDE6 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1624 + - Offset: 0xDEB + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3163 + - Offset: 0xDF7 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3427 + - Offset: 0xDFC + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3435 + - Offset: 0xE00 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3531 + - Offset: 0xE0C + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3302 + - Offset: 0xE1B + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3552 + - Offset: 0xE20 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3580 + - Offset: 0xE2B + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1624 + - Offset: 0xE30 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3561 + - Offset: 0xE3B + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3593 + - Offset: 0xE3F + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3668 + - Offset: 0xE4E + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1624 + - Offset: 0xE59 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3687 + - Offset: 0xE5D + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3751 + - Offset: 0xE6C + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1624 + - Offset: 0xE7F + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1987 + - Offset: 0xE88 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2332 + - Offset: 0xE8F + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 2768 + - Offset: 0xE9A + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3112 + - Offset: 0xEA9 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3163 + - Offset: 0xEBB + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3168 + - Offset: 0xECA + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3163 + - Offset: 0xEDB + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3418 + - Offset: 0xEE8 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3544 + - Offset: 0xEF5 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3569 + - Offset: 0xF08 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1624 + - Offset: 0xF0D + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3302 + - Offset: 0xF19 + Symbol: '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E' + Type: R_X86_64_64 + - Offset: 0xF2F + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3302 + - Offset: 0xF3E + Symbol: '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E' + Type: R_X86_64_64 + Addend: 10 + - Offset: 0xF5A + Symbol: '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E' + Type: R_X86_64_64 + Addend: 15 + - Offset: 0xF78 + Symbol: '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E' + Type: R_X86_64_64 + Addend: 44 + - Offset: 0xF95 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 1624 + - Offset: 0xF9B + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 3989 + - Offset: 0xFA6 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4712 + - Offset: 0xFB3 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4702 + - Offset: 0xFC0 + Symbol: .debug_str + Type: R_X86_64_32 + Addend: 4737 + - Name: .rela.debug_aranges + Type: SHT_RELA + Flags: [ SHF_INFO_LINK ] + Link: .symtab + AddressAlign: 0x8 + Info: .debug_aranges + Relocations: + - Offset: 0x6 + Symbol: .debug_info + Type: R_X86_64_32 + - Offset: 0x10 + Symbol: .data.rel.ro..L__unnamed_1 + Type: R_X86_64_64 + - Offset: 0x20 + Symbol: .rodata._ZN4main15CLIKE_DEFAULT_A17hc455996da56e04cdE + Type: R_X86_64_64 + - Offset: 0x30 + Symbol: .rodata._ZN4main15CLIKE_DEFAULT_B17h363cd69e0cdcbafdE + Type: R_X86_64_64 + - Offset: 0x40 + Symbol: .rodata._ZN4main10CLIKE_U8_A17h9499b0bb03002d62E + Type: R_X86_64_64 + - Offset: 0x50 + Symbol: .rodata._ZN4main10CLIKE_U8_B17h79128c8c1e712c84E + Type: R_X86_64_64 + - Offset: 0x60 + Symbol: .rodata._ZN4main10CLIKE_U8_C17h2b694c5f3dd47839E + Type: R_X86_64_64 + - Offset: 0x70 + Symbol: .rodata._ZN4main11CLIKE_U32_A17h170c70900b005ed8E + Type: R_X86_64_64 + - Offset: 0x80 + Symbol: .rodata._ZN4main11CLIKE_U32_B17hd70ec618637ad315E + Type: R_X86_64_64 + - Offset: 0x90 + Symbol: .rodata._ZN4main11CLIKE_U32_C17h51ec19ef8d1f9972E + Type: R_X86_64_64 + - Offset: 0xA0 + Symbol: .rodata._ZN4main18ENUM_WITH_TUPLES_A17h41303a2c8e509adfE + Type: R_X86_64_64 + - Offset: 0xB0 + Symbol: .rodata._ZN4main19ENUM_WITH_TUPLES_AA17h6d79192ff537e3beE + Type: R_X86_64_64 + - Offset: 0xC0 + Symbol: .rodata._ZN4main18ENUM_WITH_TUPLES_B17h67d8b0c484846519E + Type: R_X86_64_64 + - Offset: 0xD0 + Symbol: .rodata._ZN4main19ENUM_WITH_TUPLES_BB17ha7335cbcf854acc3E + Type: R_X86_64_64 + - Offset: 0xE0 + Symbol: .rodata._ZN4main19ENUM_WITH_TUPLES_BC17h812363a982e748dcE + Type: R_X86_64_64 + - Offset: 0xF0 + Symbol: .rodata._ZN4main18ENUM_WITH_TUPLES_C17hacad25cb7d0b3e1eE + Type: R_X86_64_64 + - Offset: 0x100 + Symbol: .rodata._ZN4main19ENUM_WITH_TUPLES_CC17h0774aa4ce6bfa016E + Type: R_X86_64_64 + - Offset: 0x110 + Symbol: .rodata._ZN4main18ENUM_WITH_TUPLES_D17h4731ab88c400dd95E + Type: R_X86_64_64 + - Offset: 0x120 + Symbol: .rodata._ZN4main12MIXED_ENUM_A17ha55ef45ea3e427bcE + Type: R_X86_64_64 + - Offset: 0x130 + Symbol: .rodata._ZN4main12MIXED_ENUM_B17hcf18c7a95921e399E + Type: R_X86_64_64 + - Offset: 0x140 + Symbol: .rodata._ZN4main12MIXED_ENUM_C17h5c3d9d01cbf81a21E + Type: R_X86_64_64 + - Offset: 0x150 + Symbol: .rodata._ZN4main17MIXED_ENUM_D_NONE17hcaef0fe0fe217d17E + Type: R_X86_64_64 + - Offset: 0x160 + Symbol: .rodata._ZN4main17MIXED_ENUM_D_SOME17h798d0887278d0893E + Type: R_X86_64_64 + - Offset: 0x170 + Symbol: .data.rel.ro._ZN4main18NICHE_W_FIELDS_1_A17h65eeed3d0325eae0E + Type: R_X86_64_64 + - Offset: 0x180 + Symbol: .rodata._ZN4main18NICHE_W_FIELDS_1_B17hb659dddb70a08b8bE + Type: R_X86_64_64 + - Offset: 0x190 + Symbol: .rodata._ZN4main18NICHE_W_FIELDS_2_A17h66f431dc0236eec2E + Type: R_X86_64_64 + - Offset: 0x1A0 + Symbol: .rodata._ZN4main18NICHE_W_FIELDS_2_B17hc147333272f8c6c6E + Type: R_X86_64_64 + - Offset: 0x1B0 + Symbol: .rodata._ZN4main18NICHE_W_FIELDS_3_A17h6a085f505e2e34e6E + Type: R_X86_64_64 + - Offset: 0x1C0 + Symbol: .rodata._ZN4main18NICHE_W_FIELDS_3_B17hd64758aabdd1bdccE + Type: R_X86_64_64 + - Offset: 0x1D0 + Symbol: .rodata._ZN4main18NICHE_W_FIELDS_3_C17h127a1a3167bca956E + Type: R_X86_64_64 + - Offset: 0x1E0 + Symbol: .rodata._ZN4main18NICHE_W_FIELDS_3_D17hbbc9256dbd7ab735E + Type: R_X86_64_64 + - Offset: 0x1F0 + Symbol: .rodata._ZN4main18NICHE_W_FIELDS_3_E17h290f55577c37fd9eE + Type: R_X86_64_64 + - Offset: 0x200 + Symbol: .rodata._ZN4main18NICHE_W_FIELDS_3_F17h4e188761c9e19730E + Type: R_X86_64_64 + - Offset: 0x210 + Symbol: .rodata._ZN4main16DIRECT_TAG_128_A17hb7cbb90b3722e375E + Type: R_X86_64_64 + - Offset: 0x220 + Symbol: .rodata._ZN4main16DIRECT_TAG_128_B17hcb0558940d0b3df3E + Type: R_X86_64_64 + - Offset: 0x230 + Symbol: .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + Type: R_X86_64_64 + - Offset: 0x240 + Symbol: .text._ZN3std2rt10lang_start17h2b298beff3390667E + Type: R_X86_64_64 + - Offset: 0x250 + Symbol: '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE' + Type: R_X86_64_64 + - Offset: 0x260 + Symbol: '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE' + Type: R_X86_64_64 + - Offset: 0x270 + Symbol: .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE + Type: R_X86_64_64 + - Offset: 0x280 + Symbol: .text._ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E + Type: R_X86_64_64 + - Offset: 0x290 + Symbol: '.text._ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE' + Type: R_X86_64_64 + - Offset: 0x2A0 + Symbol: '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E' + Type: R_X86_64_64 + - Offset: 0x2B0 + Symbol: '.text._ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E' + Type: R_X86_64_64 + - Offset: 0x2C0 + Symbol: .text._ZN4main4main17h7325ffd5ffbc49e1E + Type: R_X86_64_64 + - Name: .rela.debug_ranges + Type: SHT_RELA + Flags: [ SHF_INFO_LINK ] + Link: .symtab + AddressAlign: 0x8 + Info: .debug_ranges + Relocations: + - Symbol: .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + Type: R_X86_64_64 + Addend: 4 + - Offset: 0x8 + Symbol: .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + Type: R_X86_64_64 + Addend: 9 + - Offset: 0x10 + Symbol: .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + Type: R_X86_64_64 + Addend: 14 + - Offset: 0x18 + Symbol: .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + Type: R_X86_64_64 + Addend: 14 + - Offset: 0x30 + Symbol: .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + Type: R_X86_64_64 + Addend: 4 + - Offset: 0x38 + Symbol: .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + Type: R_X86_64_64 + Addend: 9 + - Offset: 0x40 + Symbol: .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + Type: R_X86_64_64 + Addend: 14 + - Offset: 0x48 + Symbol: .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + Type: R_X86_64_64 + Addend: 14 + - Offset: 0x60 + Symbol: .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + Type: R_X86_64_64 + - Offset: 0x68 + Symbol: .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + Type: R_X86_64_64 + Addend: 19 + - Offset: 0x70 + Symbol: .text._ZN3std2rt10lang_start17h2b298beff3390667E + Type: R_X86_64_64 + - Offset: 0x78 + Symbol: .text._ZN3std2rt10lang_start17h2b298beff3390667E + Type: R_X86_64_64 + Addend: 76 + - Offset: 0x80 + Symbol: '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE' + Type: R_X86_64_64 + - Offset: 0x88 + Symbol: '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE' + Type: R_X86_64_64 + Addend: 43 + - Offset: 0x90 + Symbol: '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE' + Type: R_X86_64_64 + - Offset: 0x98 + Symbol: '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE' + Type: R_X86_64_64 + Addend: 22 + - Offset: 0xA0 + Symbol: .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE + Type: R_X86_64_64 + - Offset: 0xA8 + Symbol: .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE + Type: R_X86_64_64 + Addend: 62 + - Offset: 0xB0 + Symbol: .text._ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E + Type: R_X86_64_64 + - Offset: 0xB8 + Symbol: .text._ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E + Type: R_X86_64_64 + Addend: 16 + - Offset: 0xC0 + Symbol: '.text._ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE' + Type: R_X86_64_64 + - Offset: 0xC8 + Symbol: '.text._ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE' + Type: R_X86_64_64 + Addend: 6 + - Offset: 0xD0 + Symbol: '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E' + Type: R_X86_64_64 + - Offset: 0xD8 + Symbol: '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E' + Type: R_X86_64_64 + Addend: 65 + - Offset: 0xE0 + Symbol: '.text._ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E' + Type: R_X86_64_64 + - Offset: 0xE8 + Symbol: '.text._ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E' + Type: R_X86_64_64 + Addend: 3 + - Offset: 0xF0 + Symbol: .text._ZN4main4main17h7325ffd5ffbc49e1E + Type: R_X86_64_64 + - Offset: 0xF8 + Symbol: .text._ZN4main4main17h7325ffd5ffbc49e1E + Type: R_X86_64_64 + Addend: 119 + - Name: .rela.debug_pubnames + Type: SHT_RELA + Flags: [ SHF_INFO_LINK ] + Link: .symtab + AddressAlign: 0x8 + Info: .debug_pubnames + Relocations: + - Offset: 0x6 + Symbol: .debug_info + Type: R_X86_64_32 + - Name: .rela.debug_pubtypes + Type: SHT_RELA + Flags: [ SHF_INFO_LINK ] + Link: .symtab + AddressAlign: 0x8 + Info: .debug_pubtypes + Relocations: + - Offset: 0x6 + Symbol: .debug_info + Type: R_X86_64_32 + - Name: .rela.data.DW.ref.rust_eh_personality + Type: SHT_RELA + Flags: [ SHF_GROUP ] + Link: .symtab + AddressAlign: 0x8 + Info: .data.DW.ref.rust_eh_personality + Relocations: + - Symbol: rust_eh_personality + Type: R_X86_64_64 + - Name: .rela.eh_frame + Type: SHT_RELA + Flags: [ SHF_INFO_LINK ] + Link: .symtab + AddressAlign: 0x8 + Info: .eh_frame + Relocations: + - Offset: 0x20 + Symbol: .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + Type: R_X86_64_PC32 + - Offset: 0x38 + Symbol: .text._ZN3std2rt10lang_start17h2b298beff3390667E + Type: R_X86_64_PC32 + - Offset: 0x50 + Symbol: '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE' + Type: R_X86_64_PC32 + - Offset: 0x68 + Symbol: '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE' + Type: R_X86_64_PC32 + - Offset: 0x80 + Symbol: .text._ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E + Type: R_X86_64_PC32 + - Offset: 0x98 + Symbol: '.text._ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE' + Type: R_X86_64_PC32 + - Offset: 0xAC + Symbol: '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E' + Type: R_X86_64_PC32 + - Offset: 0xC0 + Symbol: '.text._ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E' + Type: R_X86_64_PC32 + - Offset: 0xD4 + Symbol: .text._ZN4main4main17h7325ffd5ffbc49e1E + Type: R_X86_64_PC32 + - Offset: 0xEC + Symbol: .text.main + Type: R_X86_64_PC32 + - Offset: 0x10F + Symbol: DW.ref.rust_eh_personality + Type: R_X86_64_PC32 + - Offset: 0x124 + Symbol: .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE + Type: R_X86_64_PC32 + - Offset: 0x12D + Symbol: .gcc_except_table._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE + Type: R_X86_64_PC32 + - Name: .rela.debug_line + Type: SHT_RELA + Flags: [ SHF_INFO_LINK ] + Link: .symtab + AddressAlign: 0x8 + Info: .debug_line + Relocations: + - Offset: 0x256 + Symbol: .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + Type: R_X86_64_64 + - Offset: 0x28E + Symbol: .text._ZN3std2rt10lang_start17h2b298beff3390667E + Type: R_X86_64_64 + - Offset: 0x2B6 + Symbol: '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE' + Type: R_X86_64_64 + - Offset: 0x2E7 + Symbol: '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE' + Type: R_X86_64_64 + - Offset: 0x304 + Symbol: .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE + Type: R_X86_64_64 + - Offset: 0x32A + Symbol: .text._ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E + Type: R_X86_64_64 + - Offset: 0x347 + Symbol: '.text._ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE' + Type: R_X86_64_64 + - Offset: 0x361 + Symbol: '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E' + Type: R_X86_64_64 + - Offset: 0x3A5 + Symbol: '.text._ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E' + Type: R_X86_64_64 + - Offset: 0x3BD + Symbol: .text._ZN4main4main17h7325ffd5ffbc49e1E + Type: R_X86_64_64 + - Type: SectionHeaderTable + Sections: + - Name: .strtab + - Name: .text + - Name: .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + - Name: .rela.text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + - Name: .text._ZN3std2rt10lang_start17h2b298beff3390667E + - Name: .rela.text._ZN3std2rt10lang_start17h2b298beff3390667E + - Name: '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE' + - Name: '.rela.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE' + - Name: '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE' + - Name: '.rela.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE' + - Name: .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE + - Name: .rela.text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE + - Name: .gcc_except_table._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE + - Name: .text._ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E + - Name: '.text._ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE' + - Name: '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E' + - Name: '.text._ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E' + - Name: .text._ZN4main4main17h7325ffd5ffbc49e1E + - Name: .rela.text._ZN4main4main17h7325ffd5ffbc49e1E + - Name: .text.main + - Name: .rela.text.main + - Name: .data.rel.ro..L__unnamed_1 + - Name: .rela.data.rel.ro..L__unnamed_1 + - Name: .rodata._ZN4main15CLIKE_DEFAULT_A17hc455996da56e04cdE + - Name: .rodata._ZN4main15CLIKE_DEFAULT_B17h363cd69e0cdcbafdE + - Name: .rodata._ZN4main10CLIKE_U8_A17h9499b0bb03002d62E + - Name: .rodata._ZN4main10CLIKE_U8_B17h79128c8c1e712c84E + - Name: .rodata._ZN4main10CLIKE_U8_C17h2b694c5f3dd47839E + - Name: .rodata._ZN4main11CLIKE_U32_A17h170c70900b005ed8E + - Name: .rodata._ZN4main11CLIKE_U32_B17hd70ec618637ad315E + - Name: .rodata._ZN4main11CLIKE_U32_C17h51ec19ef8d1f9972E + - Name: .rodata._ZN4main18ENUM_WITH_TUPLES_A17h41303a2c8e509adfE + - Name: .rodata._ZN4main19ENUM_WITH_TUPLES_AA17h6d79192ff537e3beE + - Name: .rodata._ZN4main18ENUM_WITH_TUPLES_B17h67d8b0c484846519E + - Name: .rodata._ZN4main19ENUM_WITH_TUPLES_BB17ha7335cbcf854acc3E + - Name: .rodata._ZN4main19ENUM_WITH_TUPLES_BC17h812363a982e748dcE + - Name: .rodata._ZN4main18ENUM_WITH_TUPLES_C17hacad25cb7d0b3e1eE + - Name: .rodata._ZN4main19ENUM_WITH_TUPLES_CC17h0774aa4ce6bfa016E + - Name: .rodata._ZN4main18ENUM_WITH_TUPLES_D17h4731ab88c400dd95E + - Name: .rodata._ZN4main12MIXED_ENUM_A17ha55ef45ea3e427bcE + - Name: .rodata._ZN4main12MIXED_ENUM_B17hcf18c7a95921e399E + - Name: .rodata._ZN4main12MIXED_ENUM_C17h5c3d9d01cbf81a21E + - Name: .rodata._ZN4main17MIXED_ENUM_D_NONE17hcaef0fe0fe217d17E + - Name: .rodata._ZN4main17MIXED_ENUM_D_SOME17h798d0887278d0893E + - Name: .rodata..L__unnamed_2 + - Name: .data.rel.ro._ZN4main18NICHE_W_FIELDS_1_A17h65eeed3d0325eae0E + - Name: .rela.data.rel.ro._ZN4main18NICHE_W_FIELDS_1_A17h65eeed3d0325eae0E + - Name: .rodata._ZN4main18NICHE_W_FIELDS_1_B17hb659dddb70a08b8bE + - Name: .rodata._ZN4main18NICHE_W_FIELDS_2_A17h66f431dc0236eec2E + - Name: .rodata._ZN4main18NICHE_W_FIELDS_2_B17hc147333272f8c6c6E + - Name: .rodata._ZN4main18NICHE_W_FIELDS_3_A17h6a085f505e2e34e6E + - Name: .rodata._ZN4main18NICHE_W_FIELDS_3_B17hd64758aabdd1bdccE + - Name: .rodata._ZN4main18NICHE_W_FIELDS_3_C17h127a1a3167bca956E + - Name: .rodata._ZN4main18NICHE_W_FIELDS_3_D17hbbc9256dbd7ab735E + - Name: .rodata._ZN4main18NICHE_W_FIELDS_3_E17h290f55577c37fd9eE + - Name: .rodata._ZN4main18NICHE_W_FIELDS_3_F17h4e188761c9e19730E + - Name: .rodata._ZN4main16DIRECT_TAG_128_A17hb7cbb90b3722e375E + - Name: .rodata._ZN4main16DIRECT_TAG_128_B17hcb0558940d0b3df3E + - Name: .debug_gdb_scripts + - Name: .debug_abbrev + - Name: .debug_info + - Name: .rela.debug_info + - Name: .debug_aranges + - Name: .rela.debug_aranges + - Name: .debug_ranges + - Name: .rela.debug_ranges + - Name: .debug_str + - Name: .debug_pubnames + - Name: .rela.debug_pubnames + - Name: .debug_pubtypes + - Name: .rela.debug_pubtypes + - Name: .group + - Name: .data.DW.ref.rust_eh_personality + - Name: .rela.data.DW.ref.rust_eh_personality + - Name: .note.GNU-stack + - Name: .eh_frame + - Name: .rela.eh_frame + - Name: .debug_line + - Name: .rela.debug_line + - Name: .symtab +Symbols: + - Name: main.7cecb322c025f42d-cgu.0 + Type: STT_FILE + Index: SHN_ABS + - Name: .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + Type: STT_SECTION + Section: .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + - Name: _ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + Type: STT_FUNC + Section: .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + Size: 0x13 + - Name: _ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E + Type: STT_FUNC + Section: .text._ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E + Size: 0x10 + - Name: .text._ZN3std2rt10lang_start17h2b298beff3390667E + Type: STT_SECTION + Section: .text._ZN3std2rt10lang_start17h2b298beff3390667E + - Name: '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE' + Type: STT_SECTION + Section: '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE' + - Name: '_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE' + Type: STT_FUNC + Section: '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE' + Size: 0x2B + - Name: '_ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E' + Type: STT_FUNC + Section: '.text._ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E' + Size: 0x3 + - Name: '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE' + Type: STT_SECTION + Section: '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE' + - Name: '_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE' + Type: STT_FUNC + Section: '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE' + Size: 0x16 + - Name: _ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE + Type: STT_FUNC + Section: .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE + Size: 0x3E + - Name: .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE + Type: STT_SECTION + Section: .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE + - Name: .gcc_except_table._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE + Type: STT_SECTION + Section: .gcc_except_table._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE + - Name: GCC_except_table4 + Section: .gcc_except_table._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE + - Name: .text._ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E + Type: STT_SECTION + Section: .text._ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E + - Name: '.text._ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE' + Type: STT_SECTION + Section: '.text._ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE' + - Name: '_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE' + Type: STT_FUNC + Section: '.text._ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE' + Size: 0x6 + - Name: '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E' + Type: STT_SECTION + Section: '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E' + - Name: '_ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E' + Type: STT_FUNC + Section: '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E' + Size: 0x41 + - Name: '.text._ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E' + Type: STT_SECTION + Section: '.text._ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E' + - Name: .text._ZN4main4main17h7325ffd5ffbc49e1E + Type: STT_SECTION + Section: .text._ZN4main4main17h7325ffd5ffbc49e1E + - Name: _ZN4main4main17h7325ffd5ffbc49e1E + Type: STT_FUNC + Section: .text._ZN4main4main17h7325ffd5ffbc49e1E + Size: 0x77 + - Name: .text.main + Type: STT_SECTION + Section: .text.main + - Name: .data.rel.ro..L__unnamed_1 + Type: STT_SECTION + Section: .data.rel.ro..L__unnamed_1 + - Name: _ZN4main15CLIKE_DEFAULT_A17hc455996da56e04cdE + Type: STT_OBJECT + Section: .rodata._ZN4main15CLIKE_DEFAULT_A17hc455996da56e04cdE + Size: 0x1 + - Name: .rodata._ZN4main15CLIKE_DEFAULT_A17hc455996da56e04cdE + Type: STT_SECTION + Section: .rodata._ZN4main15CLIKE_DEFAULT_A17hc455996da56e04cdE + - Name: _ZN4main15CLIKE_DEFAULT_B17h363cd69e0cdcbafdE + Type: STT_OBJECT + Section: .rodata._ZN4main15CLIKE_DEFAULT_B17h363cd69e0cdcbafdE + Size: 0x1 + - Name: .rodata._ZN4main15CLIKE_DEFAULT_B17h363cd69e0cdcbafdE + Type: STT_SECTION + Section: .rodata._ZN4main15CLIKE_DEFAULT_B17h363cd69e0cdcbafdE + - Name: _ZN4main10CLIKE_U8_A17h9499b0bb03002d62E + Type: STT_OBJECT + Section: .rodata._ZN4main10CLIKE_U8_A17h9499b0bb03002d62E + Size: 0x1 + - Name: .rodata._ZN4main10CLIKE_U8_A17h9499b0bb03002d62E + Type: STT_SECTION + Section: .rodata._ZN4main10CLIKE_U8_A17h9499b0bb03002d62E + - Name: _ZN4main10CLIKE_U8_B17h79128c8c1e712c84E + Type: STT_OBJECT + Section: .rodata._ZN4main10CLIKE_U8_B17h79128c8c1e712c84E + Size: 0x1 + - Name: .rodata._ZN4main10CLIKE_U8_B17h79128c8c1e712c84E + Type: STT_SECTION + Section: .rodata._ZN4main10CLIKE_U8_B17h79128c8c1e712c84E + - Name: _ZN4main10CLIKE_U8_C17h2b694c5f3dd47839E + Type: STT_OBJECT + Section: .rodata._ZN4main10CLIKE_U8_C17h2b694c5f3dd47839E + Size: 0x1 + - Name: .rodata._ZN4main10CLIKE_U8_C17h2b694c5f3dd47839E + Type: STT_SECTION + Section: .rodata._ZN4main10CLIKE_U8_C17h2b694c5f3dd47839E + - Name: _ZN4main11CLIKE_U32_A17h170c70900b005ed8E + Type: STT_OBJECT + Section: .rodata._ZN4main11CLIKE_U32_A17h170c70900b005ed8E + Size: 0x4 + - Name: .rodata._ZN4main11CLIKE_U32_A17h170c70900b005ed8E + Type: STT_SECTION + Section: .rodata._ZN4main11CLIKE_U32_A17h170c70900b005ed8E + - Name: _ZN4main11CLIKE_U32_B17hd70ec618637ad315E + Type: STT_OBJECT + Section: .rodata._ZN4main11CLIKE_U32_B17hd70ec618637ad315E + Size: 0x4 + - Name: .rodata._ZN4main11CLIKE_U32_B17hd70ec618637ad315E + Type: STT_SECTION + Section: .rodata._ZN4main11CLIKE_U32_B17hd70ec618637ad315E + - Name: _ZN4main11CLIKE_U32_C17h51ec19ef8d1f9972E + Type: STT_OBJECT + Section: .rodata._ZN4main11CLIKE_U32_C17h51ec19ef8d1f9972E + Size: 0x4 + - Name: .rodata._ZN4main11CLIKE_U32_C17h51ec19ef8d1f9972E + Type: STT_SECTION + Section: .rodata._ZN4main11CLIKE_U32_C17h51ec19ef8d1f9972E + - Name: _ZN4main18ENUM_WITH_TUPLES_A17h41303a2c8e509adfE + Type: STT_OBJECT + Section: .rodata._ZN4main18ENUM_WITH_TUPLES_A17h41303a2c8e509adfE + Size: 0x10 + - Name: .rodata._ZN4main18ENUM_WITH_TUPLES_A17h41303a2c8e509adfE + Type: STT_SECTION + Section: .rodata._ZN4main18ENUM_WITH_TUPLES_A17h41303a2c8e509adfE + - Name: _ZN4main19ENUM_WITH_TUPLES_AA17h6d79192ff537e3beE + Type: STT_OBJECT + Section: .rodata._ZN4main19ENUM_WITH_TUPLES_AA17h6d79192ff537e3beE + Size: 0x10 + - Name: .rodata._ZN4main19ENUM_WITH_TUPLES_AA17h6d79192ff537e3beE + Type: STT_SECTION + Section: .rodata._ZN4main19ENUM_WITH_TUPLES_AA17h6d79192ff537e3beE + - Name: _ZN4main18ENUM_WITH_TUPLES_B17h67d8b0c484846519E + Type: STT_OBJECT + Section: .rodata._ZN4main18ENUM_WITH_TUPLES_B17h67d8b0c484846519E + Size: 0x10 + - Name: .rodata._ZN4main18ENUM_WITH_TUPLES_B17h67d8b0c484846519E + Type: STT_SECTION + Section: .rodata._ZN4main18ENUM_WITH_TUPLES_B17h67d8b0c484846519E + - Name: _ZN4main19ENUM_WITH_TUPLES_BB17ha7335cbcf854acc3E + Type: STT_OBJECT + Section: .rodata._ZN4main19ENUM_WITH_TUPLES_BB17ha7335cbcf854acc3E + Size: 0x10 + - Name: .rodata._ZN4main19ENUM_WITH_TUPLES_BB17ha7335cbcf854acc3E + Type: STT_SECTION + Section: .rodata._ZN4main19ENUM_WITH_TUPLES_BB17ha7335cbcf854acc3E + - Name: _ZN4main19ENUM_WITH_TUPLES_BC17h812363a982e748dcE + Type: STT_OBJECT + Section: .rodata._ZN4main19ENUM_WITH_TUPLES_BC17h812363a982e748dcE + Size: 0x10 + - Name: .rodata._ZN4main19ENUM_WITH_TUPLES_BC17h812363a982e748dcE + Type: STT_SECTION + Section: .rodata._ZN4main19ENUM_WITH_TUPLES_BC17h812363a982e748dcE + - Name: _ZN4main18ENUM_WITH_TUPLES_C17hacad25cb7d0b3e1eE + Type: STT_OBJECT + Section: .rodata._ZN4main18ENUM_WITH_TUPLES_C17hacad25cb7d0b3e1eE + Size: 0x10 + - Name: .rodata._ZN4main18ENUM_WITH_TUPLES_C17hacad25cb7d0b3e1eE + Type: STT_SECTION + Section: .rodata._ZN4main18ENUM_WITH_TUPLES_C17hacad25cb7d0b3e1eE + - Name: _ZN4main19ENUM_WITH_TUPLES_CC17h0774aa4ce6bfa016E + Type: STT_OBJECT + Section: .rodata._ZN4main19ENUM_WITH_TUPLES_CC17h0774aa4ce6bfa016E + Size: 0x10 + - Name: .rodata._ZN4main19ENUM_WITH_TUPLES_CC17h0774aa4ce6bfa016E + Type: STT_SECTION + Section: .rodata._ZN4main19ENUM_WITH_TUPLES_CC17h0774aa4ce6bfa016E + - Name: _ZN4main18ENUM_WITH_TUPLES_D17h4731ab88c400dd95E + Type: STT_OBJECT + Section: .rodata._ZN4main18ENUM_WITH_TUPLES_D17h4731ab88c400dd95E + Size: 0x10 + - Name: .rodata._ZN4main18ENUM_WITH_TUPLES_D17h4731ab88c400dd95E + Type: STT_SECTION + Section: .rodata._ZN4main18ENUM_WITH_TUPLES_D17h4731ab88c400dd95E + - Name: _ZN4main12MIXED_ENUM_A17ha55ef45ea3e427bcE + Type: STT_OBJECT + Section: .rodata._ZN4main12MIXED_ENUM_A17ha55ef45ea3e427bcE + Size: 0x18 + - Name: .rodata._ZN4main12MIXED_ENUM_A17ha55ef45ea3e427bcE + Type: STT_SECTION + Section: .rodata._ZN4main12MIXED_ENUM_A17ha55ef45ea3e427bcE + - Name: _ZN4main12MIXED_ENUM_B17hcf18c7a95921e399E + Type: STT_OBJECT + Section: .rodata._ZN4main12MIXED_ENUM_B17hcf18c7a95921e399E + Size: 0x18 + - Name: .rodata._ZN4main12MIXED_ENUM_B17hcf18c7a95921e399E + Type: STT_SECTION + Section: .rodata._ZN4main12MIXED_ENUM_B17hcf18c7a95921e399E + - Name: _ZN4main12MIXED_ENUM_C17h5c3d9d01cbf81a21E + Type: STT_OBJECT + Section: .rodata._ZN4main12MIXED_ENUM_C17h5c3d9d01cbf81a21E + Size: 0x18 + - Name: .rodata._ZN4main12MIXED_ENUM_C17h5c3d9d01cbf81a21E + Type: STT_SECTION + Section: .rodata._ZN4main12MIXED_ENUM_C17h5c3d9d01cbf81a21E + - Name: _ZN4main17MIXED_ENUM_D_NONE17hcaef0fe0fe217d17E + Type: STT_OBJECT + Section: .rodata._ZN4main17MIXED_ENUM_D_NONE17hcaef0fe0fe217d17E + Size: 0x18 + - Name: .rodata._ZN4main17MIXED_ENUM_D_NONE17hcaef0fe0fe217d17E + Type: STT_SECTION + Section: .rodata._ZN4main17MIXED_ENUM_D_NONE17hcaef0fe0fe217d17E + - Name: _ZN4main17MIXED_ENUM_D_SOME17h798d0887278d0893E + Type: STT_OBJECT + Section: .rodata._ZN4main17MIXED_ENUM_D_SOME17h798d0887278d0893E + Size: 0x18 + - Name: .rodata._ZN4main17MIXED_ENUM_D_SOME17h798d0887278d0893E + Type: STT_SECTION + Section: .rodata._ZN4main17MIXED_ENUM_D_SOME17h798d0887278d0893E + - Name: .rodata..L__unnamed_2 + Type: STT_SECTION + Section: .rodata..L__unnamed_2 + - Name: _ZN4main18NICHE_W_FIELDS_1_A17h65eeed3d0325eae0E + Type: STT_OBJECT + Section: .data.rel.ro._ZN4main18NICHE_W_FIELDS_1_A17h65eeed3d0325eae0E + Size: 0x10 + - Name: .data.rel.ro._ZN4main18NICHE_W_FIELDS_1_A17h65eeed3d0325eae0E + Type: STT_SECTION + Section: .data.rel.ro._ZN4main18NICHE_W_FIELDS_1_A17h65eeed3d0325eae0E + - Name: _ZN4main18NICHE_W_FIELDS_1_B17hb659dddb70a08b8bE + Type: STT_OBJECT + Section: .rodata._ZN4main18NICHE_W_FIELDS_1_B17hb659dddb70a08b8bE + Size: 0x10 + - Name: .rodata._ZN4main18NICHE_W_FIELDS_1_B17hb659dddb70a08b8bE + Type: STT_SECTION + Section: .rodata._ZN4main18NICHE_W_FIELDS_1_B17hb659dddb70a08b8bE + - Name: _ZN4main18NICHE_W_FIELDS_2_A17h66f431dc0236eec2E + Type: STT_OBJECT + Section: .rodata._ZN4main18NICHE_W_FIELDS_2_A17h66f431dc0236eec2E + Size: 0x10 + - Name: .rodata._ZN4main18NICHE_W_FIELDS_2_A17h66f431dc0236eec2E + Type: STT_SECTION + Section: .rodata._ZN4main18NICHE_W_FIELDS_2_A17h66f431dc0236eec2E + - Name: _ZN4main18NICHE_W_FIELDS_2_B17hc147333272f8c6c6E + Type: STT_OBJECT + Section: .rodata._ZN4main18NICHE_W_FIELDS_2_B17hc147333272f8c6c6E + Size: 0x10 + - Name: .rodata._ZN4main18NICHE_W_FIELDS_2_B17hc147333272f8c6c6E + Type: STT_SECTION + Section: .rodata._ZN4main18NICHE_W_FIELDS_2_B17hc147333272f8c6c6E + - Name: _ZN4main18NICHE_W_FIELDS_3_A17h6a085f505e2e34e6E + Type: STT_OBJECT + Section: .rodata._ZN4main18NICHE_W_FIELDS_3_A17h6a085f505e2e34e6E + Size: 0x2 + - Name: .rodata._ZN4main18NICHE_W_FIELDS_3_A17h6a085f505e2e34e6E + Type: STT_SECTION + Section: .rodata._ZN4main18NICHE_W_FIELDS_3_A17h6a085f505e2e34e6E + - Name: _ZN4main18NICHE_W_FIELDS_3_B17hd64758aabdd1bdccE + Type: STT_OBJECT + Section: .rodata._ZN4main18NICHE_W_FIELDS_3_B17hd64758aabdd1bdccE + Size: 0x2 + - Name: .rodata._ZN4main18NICHE_W_FIELDS_3_B17hd64758aabdd1bdccE + Type: STT_SECTION + Section: .rodata._ZN4main18NICHE_W_FIELDS_3_B17hd64758aabdd1bdccE + - Name: _ZN4main18NICHE_W_FIELDS_3_C17h127a1a3167bca956E + Type: STT_OBJECT + Section: .rodata._ZN4main18NICHE_W_FIELDS_3_C17h127a1a3167bca956E + Size: 0x2 + - Name: .rodata._ZN4main18NICHE_W_FIELDS_3_C17h127a1a3167bca956E + Type: STT_SECTION + Section: .rodata._ZN4main18NICHE_W_FIELDS_3_C17h127a1a3167bca956E + - Name: _ZN4main18NICHE_W_FIELDS_3_D17hbbc9256dbd7ab735E + Type: STT_OBJECT + Section: .rodata._ZN4main18NICHE_W_FIELDS_3_D17hbbc9256dbd7ab735E + Size: 0x2 + - Name: .rodata._ZN4main18NICHE_W_FIELDS_3_D17hbbc9256dbd7ab735E + Type: STT_SECTION + Section: .rodata._ZN4main18NICHE_W_FIELDS_3_D17hbbc9256dbd7ab735E + - Name: _ZN4main18NICHE_W_FIELDS_3_E17h290f55577c37fd9eE + Type: STT_OBJECT + Section: .rodata._ZN4main18NICHE_W_FIELDS_3_E17h290f55577c37fd9eE + Size: 0x2 + - Name: .rodata._ZN4main18NICHE_W_FIELDS_3_E17h290f55577c37fd9eE + Type: STT_SECTION + Section: .rodata._ZN4main18NICHE_W_FIELDS_3_E17h290f55577c37fd9eE + - Name: _ZN4main18NICHE_W_FIELDS_3_F17h4e188761c9e19730E + Type: STT_OBJECT + Section: .rodata._ZN4main18NICHE_W_FIELDS_3_F17h4e188761c9e19730E + Size: 0x2 + - Name: .rodata._ZN4main18NICHE_W_FIELDS_3_F17h4e188761c9e19730E + Type: STT_SECTION + Section: .rodata._ZN4main18NICHE_W_FIELDS_3_F17h4e188761c9e19730E + - Name: _ZN4main16DIRECT_TAG_128_A17hb7cbb90b3722e375E + Type: STT_OBJECT + Section: .rodata._ZN4main16DIRECT_TAG_128_A17hb7cbb90b3722e375E + Size: 0x18 + - Name: .rodata._ZN4main16DIRECT_TAG_128_A17hb7cbb90b3722e375E + Type: STT_SECTION + Section: .rodata._ZN4main16DIRECT_TAG_128_A17hb7cbb90b3722e375E + - Name: _ZN4main16DIRECT_TAG_128_B17hcb0558940d0b3df3E + Type: STT_OBJECT + Section: .rodata._ZN4main16DIRECT_TAG_128_B17hcb0558940d0b3df3E + Size: 0x18 + - Name: .rodata._ZN4main16DIRECT_TAG_128_B17hcb0558940d0b3df3E + Type: STT_SECTION + Section: .rodata._ZN4main16DIRECT_TAG_128_B17hcb0558940d0b3df3E + - Name: .debug_abbrev + Type: STT_SECTION + Section: .debug_abbrev + - Name: .debug_info + Type: STT_SECTION + Section: .debug_info + - Name: .debug_ranges + Type: STT_SECTION + Section: .debug_ranges + - Name: .debug_str + Type: STT_SECTION + Section: .debug_str + - Name: .debug_line + Type: STT_SECTION + Section: .debug_line + - Name: _ZN3std2rt10lang_start17h2b298beff3390667E + Type: STT_FUNC + Section: .text._ZN3std2rt10lang_start17h2b298beff3390667E + Binding: STB_GLOBAL + Size: 0x4C + Other: [ STV_HIDDEN ] + - Name: _ZN3std2rt19lang_start_internal17h53e91f0c64cf90ebE + Binding: STB_GLOBAL + - Name: _Unwind_Resume + Binding: STB_GLOBAL + - Name: main + Type: STT_FUNC + Section: .text.main + Binding: STB_GLOBAL + Size: 0x20 + - Name: __rustc_debug_gdb_scripts_section__ + Type: STT_OBJECT + Section: .debug_gdb_scripts + Binding: STB_WEAK + Size: 0x22 + - Name: DW.ref.rust_eh_personality + Type: STT_OBJECT + Section: .data.DW.ref.rust_eh_personality + Binding: STB_WEAK + Size: 0x8 + Other: [ STV_HIDDEN ] + - Name: rust_eh_personality + Binding: STB_GLOBAL +DWARF: + debug_str: + - 'clang LLVM (rustc version 1.73.0-nightly (da6b55cc5 2023-07-17))' + - 'src/main.rs/@/main.7cecb322c025f42d-cgu.0' + - '/home/vmakaev/test-simple-enum' + - ' as core::ops::function::Fn<()>>::{vtable}' + - drop_in_place + - '()' + - '*const ()' + - size + - usize + - align + - __method3 + - __method4 + - __method5 + - std + - rt + - lang_start + - main + - 'fn()' + - '{closure_env#0}<()>' + - ' as core::ops::function::Fn<()>>::{vtable_type}' + - CLIKE_DEFAULT_A + - u8 + - A + - B + - CLikeEnumDefault + - _ZN4main15CLIKE_DEFAULT_A17hc455996da56e04cdE + - CLIKE_DEFAULT_B + - _ZN4main15CLIKE_DEFAULT_B17h363cd69e0cdcbafdE + - CLIKE_U8_A + - VariantA + - VariantB + - VariantC + - CLikeEnumReprU8 + - _ZN4main10CLIKE_U8_A17h9499b0bb03002d62E + - CLIKE_U8_B + - _ZN4main10CLIKE_U8_B17h79128c8c1e712c84E + - CLIKE_U8_C + - _ZN4main10CLIKE_U8_C17h2b694c5f3dd47839E + - CLIKE_U32_A + - u32 + - CLikeEnumReprU32 + - _ZN4main11CLIKE_U32_A17h170c70900b005ed8E + - CLIKE_U32_B + - _ZN4main11CLIKE_U32_B17hd70ec618637ad315E + - CLIKE_U32_C + - _ZN4main11CLIKE_U32_C17h51ec19ef8d1f9972E + - ENUM_WITH_TUPLES_A + - __0 + - u16 + - C + - D + - AA + - __1 + - BB + - BC + - CC + - EnumWithTuples + - _ZN4main18ENUM_WITH_TUPLES_A17h41303a2c8e509adfE + - ENUM_WITH_TUPLES_AA + - _ZN4main19ENUM_WITH_TUPLES_AA17h6d79192ff537e3beE + - ENUM_WITH_TUPLES_B + - _ZN4main18ENUM_WITH_TUPLES_B17h67d8b0c484846519E + - ENUM_WITH_TUPLES_BB + - _ZN4main19ENUM_WITH_TUPLES_BB17ha7335cbcf854acc3E + - ENUM_WITH_TUPLES_BC + - _ZN4main19ENUM_WITH_TUPLES_BC17h812363a982e748dcE + - ENUM_WITH_TUPLES_C + - _ZN4main18ENUM_WITH_TUPLES_C17hacad25cb7d0b3e1eE + - ENUM_WITH_TUPLES_CC + - _ZN4main19ENUM_WITH_TUPLES_CC17h0774aa4ce6bfa016E + - ENUM_WITH_TUPLES_D + - _ZN4main18ENUM_WITH_TUPLES_D17h4731ab88c400dd95E + - MIXED_ENUM_A + - u64 + - i32 + - core + - option + - None + - field + - inner + - Struct1 + - Struct2 + - T + - Some + - 'Option' + - E + - EnumWithStructs + - MixedEnum + - _ZN4main12MIXED_ENUM_A17ha55ef45ea3e427bcE + - MIXED_ENUM_B + - _ZN4main12MIXED_ENUM_B17hcf18c7a95921e399E + - MIXED_ENUM_C + - _ZN4main12MIXED_ENUM_C17h5c3d9d01cbf81a21E + - MIXED_ENUM_D_NONE + - _ZN4main17MIXED_ENUM_D_NONE17hcaef0fe0fe217d17E + - MIXED_ENUM_D_SOME + - _ZN4main17MIXED_ENUM_D_SOME17h798d0887278d0893E + - NICHE_W_FIELDS_1_A + - '&u8' + - NicheLayoutWithFields1 + - _ZN4main18NICHE_W_FIELDS_1_A17h65eeed3d0325eae0E + - NICHE_W_FIELDS_1_B + - _ZN4main18NICHE_W_FIELDS_1_B17hb659dddb70a08b8bE + - NICHE_W_FIELDS_2_A + - num + - nonzero + - NonZeroU32 + - NicheLayoutWithFields2 + - _ZN4main18NICHE_W_FIELDS_2_A17h66f431dc0236eec2E + - NICHE_W_FIELDS_2_B + - _ZN4main18NICHE_W_FIELDS_2_B17hc147333272f8c6c6E + - NICHE_W_FIELDS_3_A + - bool + - F + - NicheLayoutWithFields3 + - _ZN4main18NICHE_W_FIELDS_3_A17h6a085f505e2e34e6E + - NICHE_W_FIELDS_3_B + - _ZN4main18NICHE_W_FIELDS_3_B17hd64758aabdd1bdccE + - NICHE_W_FIELDS_3_C + - _ZN4main18NICHE_W_FIELDS_3_C17h127a1a3167bca956E + - NICHE_W_FIELDS_3_D + - _ZN4main18NICHE_W_FIELDS_3_D17hbbc9256dbd7ab735E + - NICHE_W_FIELDS_3_E + - _ZN4main18NICHE_W_FIELDS_3_E17h290f55577c37fd9eE + - NICHE_W_FIELDS_3_F + - _ZN4main18NICHE_W_FIELDS_3_F17h4e188761c9e19730E + - DIRECT_TAG_128_A + - i128 + - DirectTag128 + - _ZN4main16DIRECT_TAG_128_A17hb7cbb90b3722e375E + - DIRECT_TAG_128_B + - _ZN4main16DIRECT_TAG_128_B17hcb0558940d0b3df3E + - hint + - _ZN4core4hint9black_box17h379a83786539264fE + - 'black_box<()>' + - dummy + - sys_common + - backtrace + - sys + - unix + - process + - process_common + - ExitCode + - _ZN3std3sys4unix7process14process_common8ExitCode6as_i3217he371769e2548cd45E + - as_i32 + - '&std::sys::unix::process::process_common::ExitCode' + - self + - '*mut std::sys::unix::process::process_common::ExitCode' + - _ZN3std7process8ExitCode6to_i3217hb7fc74a79d553bd6E + - to_i32 + - ops + - function + - FnOnce + - ptr + - mut_ptr + - '{impl#0}' + - '_ZN4core3ptr7mut_ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17h7779d98aface9019E' + - 'is_null' + - '*mut u64' + - is_null + - '_ZN4core3ptr7mut_ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null12runtime_impl17h3eb05f765be786deE' + - runtime_impl + - '*mut u8' + - non_null + - pointer + - '*const u64' + - 'NonNull' + - '_ZN4core3ptr8non_null16NonNull$LT$T$GT$13new_unchecked17h52543b5b2a7511f2E' + - 'new_unchecked' + - '_ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E' + - 'new' + - 'Option>' + - '{impl#53}' + - _ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE + - '__rust_begin_short_backtrace' + - _ZN3std2rt10lang_start17h2b298beff3390667E + - 'lang_start<()>' + - isize + - '_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE' + - '{closure#0}<()>' + - Self + - Args + - '_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE' + - 'call_once, ()>' + - _ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE + - _ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E + - 'call_once' + - '_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE' + - 'drop_in_place>' + - '_ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E' + - report + - _ZN4main4main17h7325ffd5ffbc49e1E + - f + - result + - argc + - argv + - '*const u8' + - '*const *const u8' + - sigpipe + - '*mut std::rt::lang_start::{closure_env#0}<()>' + - niche_w_fields_1_a + - niche_w_fields_1_b + - direct_tag_128_a + - direct_tag_128_b + debug_aranges: + - Length: 0x2DC + Version: 2 + CuOffset: 0x0 + AddressSize: 0x8 + Descriptors: + - Address: 0x0 + Length: 0x30 + - Address: 0x0 + Length: 0x1 + - Address: 0x0 + Length: 0x1 + - Address: 0x0 + Length: 0x1 + - Address: 0x0 + Length: 0x1 + - Address: 0x0 + Length: 0x1 + - Address: 0x0 + Length: 0x4 + - Address: 0x0 + Length: 0x4 + - Address: 0x0 + Length: 0x4 + - Address: 0x0 + Length: 0x10 + - Address: 0x0 + Length: 0x10 + - Address: 0x0 + Length: 0x10 + - Address: 0x0 + Length: 0x10 + - Address: 0x0 + Length: 0x10 + - Address: 0x0 + Length: 0x10 + - Address: 0x0 + Length: 0x10 + - Address: 0x0 + Length: 0x10 + - Address: 0x0 + Length: 0x18 + - Address: 0x0 + Length: 0x18 + - Address: 0x0 + Length: 0x18 + - Address: 0x0 + Length: 0x18 + - Address: 0x0 + Length: 0x18 + - Address: 0x0 + Length: 0x10 + - Address: 0x0 + Length: 0x10 + - Address: 0x0 + Length: 0x10 + - Address: 0x0 + Length: 0x10 + - Address: 0x0 + Length: 0x2 + - Address: 0x0 + Length: 0x2 + - Address: 0x0 + Length: 0x2 + - Address: 0x0 + Length: 0x2 + - Address: 0x0 + Length: 0x2 + - Address: 0x0 + Length: 0x2 + - Address: 0x0 + Length: 0x18 + - Address: 0x0 + Length: 0x18 + - Address: 0x0 + Length: 0x13 + - Address: 0x0 + Length: 0x4C + - Address: 0x0 + Length: 0x2B + - Address: 0x0 + Length: 0x16 + - Address: 0x0 + Length: 0x3E + - Address: 0x0 + Length: 0x10 + - Address: 0x0 + Length: 0x6 + - Address: 0x0 + Length: 0x41 + - Address: 0x0 + Length: 0x3 + - Address: 0x0 + Length: 0x77 + debug_ranges: + - Offset: 0x0 + AddrSize: 0x8 + Entries: [] + - Offset: 0x10 + AddrSize: 0x8 + Entries: [] + - Offset: 0x20 + AddrSize: 0x8 + Entries: [] + - Offset: 0x30 + AddrSize: 0x8 + Entries: [] + - Offset: 0x40 + AddrSize: 0x8 + Entries: [] + - Offset: 0x50 + AddrSize: 0x8 + Entries: [] + - Offset: 0x60 + AddrSize: 0x8 + Entries: [] + - Offset: 0x70 + AddrSize: 0x8 + Entries: [] + - Offset: 0x80 + AddrSize: 0x8 + Entries: [] + - Offset: 0x90 + AddrSize: 0x8 + Entries: [] + - Offset: 0xA0 + AddrSize: 0x8 + Entries: [] + - Offset: 0xB0 + AddrSize: 0x8 + Entries: [] + - Offset: 0xC0 + AddrSize: 0x8 + Entries: [] + - Offset: 0xD0 + AddrSize: 0x8 + Entries: [] + - Offset: 0xE0 + AddrSize: 0x8 + Entries: [] + - Offset: 0xF0 + AddrSize: 0x8 + Entries: [] + - Offset: 0x100 + AddrSize: 0x8 + Entries: [] +...