[Lldb-commits] [lldb] e84751a - [lldb] Add basic support to Rust enums in TypeSystemClang
Vladimir Makaev via lldb-commits
lldb-commits at lists.llvm.org
Wed Aug 16 18:35:22 PDT 2023
Author: Vladimir Makaev
Date: 2023-08-17T02:34:35+01:00
New Revision: e84751a21561c5b1d5673cdff8e22ac4cf2f5dc2
URL: https://github.com/llvm/llvm-project/commit/e84751a21561c5b1d5673cdff8e22ac4cf2f5dc2
DIFF: https://github.com/llvm/llvm-project/commit/e84751a21561c5b1d5673cdff8e22ac4cf2f5dc2.diff
LOG: [lldb] Add basic support to Rust enums in TypeSystemClang
LLDB doesn't yet have a TypeSystemRust implemented however it is used to debug Rust applications. Most of the types map well enough to Clang types and there are python formatters implemented to display those types reasonably well in a debugger.
However, Rust enums are completely ignored by LLDB as Clang never emits DW_TAG_variant_part inside DW_TAG_structure_type
This diff adds a parser for DW_TAG_variant_part (Rust-only) that creates a matching valid Clang declaration to the Rust enum. As long as there is enough information and all fields have correct offsets synthetic/summary providers can be implemented to display it correctly when debugging Rust code
Differential Revision: https://reviews.llvm.org/D149213
Added:
lldb/test/API/lang/rust/enum-structs/RustEnumValue.py
lldb/test/API/lang/rust/enum-structs/TestRustEnumStructs.py
lldb/test/API/lang/rust/enum-structs/main.rs
lldb/test/API/lang/rust/enum-structs/main.yaml
Modified:
lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
Removed:
################################################################################
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
index 2dd61ee219e1e4..4f891a5c28c464 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
@@ -2496,8 +2496,163 @@ struct PropertyAttributes {
/// \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<u_int32_t> 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<VariantMember> &members();
+
+ DiscriminantValue &discriminant();
+
+private:
+ std::vector<VariantMember> _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<VariantMember> &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 @@ bool DWARFASTParserClang::ParseChildMembers(
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 @@ bool DWARFASTParserClang::ShouldCreateUnnamedBitfield(
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/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
index 042075b7df5f0c..88bfc490e89074 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
@@ -317,6 +317,21 @@ class DWARFASTParserClang : public DWARFASTParser {
const lldb::ModuleSP &module_sp,
std::vector<std::unique_ptr<clang::CXXBaseSpecifier>> &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/test/API/lang/rust/enum-structs/RustEnumValue.py b/lldb/test/API/lang/rust/enum-structs/RustEnumValue.py
new file mode 100644
index 00000000000000..dcf534ad587ae5
--- /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
index 00000000000000..4cd4243f17f68c
--- /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<main::Struct2>::None<main::Struct2>:32",
+ "core::option::Option<main::Struct2>::Some<main::Struct2>:32"])
+ self.assertEqual(value.getCurrentValue().GetValue(), None)
+ self.assertEqual(value.getCurrentValue().GetType().GetDisplayTypeName(),
+ "core::option::Option<main::Struct2>::None<main::Struct2>")
+
+ 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<core::ptr::non_null::NonNull<u64>>")
+ # 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<core::ptr::non_null::NonNull<u64>>")
+ # 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<core::ptr::non_null::NonNull<u64>>::None<core::ptr::non_null::NonNull<unsigned long> >")
+
+ 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
index 00000000000000..813933602966e7
--- /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<Struct2>),
+ E(EnumWithStructs),
+}
+
+pub struct Struct1 {
+ field: i32,
+}
+
+pub struct Struct2 {
+ field: u32,
+ inner: Struct1,
+}
+
+pub struct NonNullHolder {
+ inner: Option<NonNull<u64>>,
+}
+
+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
index 00000000000000..09f0585586dc32
--- /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'
+ - '<std::rt::lang_start::{closure_env#0}<()> 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}<()>'
+ - '<std::rt::lang_start::{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<main::Struct2>'
+ - 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<u64>'
+ - '*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<u64>'
+ - '_ZN4core3ptr8non_null16NonNull$LT$T$GT$13new_unchecked17h52543b5b2a7511f2E'
+ - 'new_unchecked<u64>'
+ - '_ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E'
+ - 'new<u64>'
+ - 'Option<core::ptr::non_null::NonNull<u64>>'
+ - '{impl#53}'
+ - _ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+ - '__rust_begin_short_backtrace<fn(), ()>'
+ - _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<std::rt::lang_start::{closure_env#0}<()>, ()>'
+ - _ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE
+ - _ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E
+ - 'call_once<fn(), ()>'
+ - '_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE'
+ - 'drop_in_place<std::rt::lang_start::{closure_env#0}<()>>'
+ - '_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: []
+...
More information about the lldb-commits
mailing list