Add newtypes for ELF constants (#894)

* Add elf::SectionType

* Change ELF sh_flags to u64

This includes the SHF constants.

* Add elf::SectionFlags

* Add elf::ProgramType

* Add elf::SymbolInfo/SymbolBind/SymbolType

* Add elf::FileType

* Add elf::Machine

* Add elf::FileHeader field newtypes

* Add elf::SymbolSection

* Add elf::CompressionType and elf::GroupFlags

* Add elf::SyminfoBoundto and elf::SyminfoFlags

* Add elf::DynamicTag, DynamicFlags and DynamicFlags1

Also changes elf::DF_* constants to u64.

* Add elf::GnuPropertyType

* Add elf::AttributeTag

* Add elf::ProgramFlags

* Add elf::VersionIndex and elf::VersionFlags

Also removes unneeded VERSYM_HIDDEN masking for vd_ndx and vna_other.

* Add elf::SymbolOther

* readobj: delete unused field_enums

* Rename build::elf::AttributeTag to AttributeScope

Avoids sharing name with elf::AttributeTag.

* Rename elf::SectionIndex to SymbolIndex

Also add elf::SectionIndex::new+index

* write/elf: remove unwrap for sh_flags
This commit is contained in:
Philip Craig
2026-05-12 12:56:20 +10:00
committed by GitHub
parent 01c7b91d8e
commit 130ca5e2d6
52 changed files with 2368 additions and 2030 deletions
+8 -6
View File
@@ -378,17 +378,19 @@ fn copy_file<Elf: FileHeader<Endian = Endianness>>(
// Include both code and read only data in the text section.
fn is_text<S: SectionHeader>(s: &S, endian: S::Endian) -> bool {
let flags = s.sh_flags(endian).into() as u32;
flags & elf::SHF_ALLOC != 0 && (flags & elf::SHF_EXECINSTR != 0 || flags & elf::SHF_WRITE == 0)
let flags = s.sh_flags(endian);
flags.contains(elf::SHF_ALLOC)
&& (flags.contains(elf::SHF_EXECINSTR) || !flags.contains(elf::SHF_WRITE))
}
// Anything that is alloc but not text.
fn is_data<S: SectionHeader>(s: &S, endian: S::Endian) -> bool {
let flags = s.sh_flags(endian).into() as u32;
flags & elf::SHF_ALLOC != 0 && flags & elf::SHF_EXECINSTR == 0 && flags & elf::SHF_WRITE != 0
let flags = s.sh_flags(endian);
flags.contains(elf::SHF_ALLOC)
&& !flags.contains(elf::SHF_EXECINSTR)
&& flags.contains(elf::SHF_WRITE)
}
fn is_alloc<S: SectionHeader>(s: &S, endian: S::Endian) -> bool {
let flags = s.sh_flags(endian).into() as u32;
flags & elf::SHF_ALLOC != 0
s.sh_flags(endian).contains(elf::SHF_ALLOC)
}
File diff suppressed because it is too large Load Diff
-13
View File
@@ -236,19 +236,6 @@ impl<'a> Printer<'a> {
self.field(name, value);
}
fn field_enums<T: Eq + fmt::UpperHex>(&mut self, name: &str, value: T, enums: &[&[Flag<T>]]) {
for flags in enums {
for flag in *flags {
if value == flag.value {
self.field_name(name);
writeln!(self.w, "{} (0x{:X})", flag.name, value).unwrap();
return;
}
}
}
self.field_hex(name, value);
}
fn field_consts<T>(&mut self, name: &str, value: T, consts: &ConstantNames<T>)
where
T: Wrap + Copy,
@@ -1,32 +1,32 @@
Format: Elf Little-endian 64-bit
Kind: Relocatable
Architecture: Aarch64
Flags: Elf { os_abi: 0, abi_version: 0, e_flags: 0 }
Flags: Elf { os_abi: ELFOSABI_SYSV, abi_version: 0, e_flags: 0 }
Relative Address Base: 0
Entry Address: 0
1: Section { name: ".text", address: 0, size: 20, align: 4, kind: Text, flags: Elf { sh_type: 1, sh_flags: 6 } }
2: Section { name: ".rela.text", address: 0, size: 48, align: 8, kind: Metadata, flags: Elf { sh_type: 4, sh_flags: 40 } }
3: Section { name: ".data", address: 0, size: 0, align: 1, kind: Data, flags: Elf { sh_type: 1, sh_flags: 3 } }
4: Section { name: ".bss", address: 0, size: 0, align: 1, kind: UninitializedData, flags: Elf { sh_type: 8, sh_flags: 3 } }
5: Section { name: ".rodata", address: 0, size: d, align: 8, kind: ReadOnlyData, flags: Elf { sh_type: 1, sh_flags: 2 } }
6: Section { name: ".comment", address: 0, size: 31, align: 1, kind: OtherString, flags: Elf { sh_type: 1, sh_flags: 30 } }
7: Section { name: ".note.GNU-stack", address: 0, size: 0, align: 1, kind: Other, flags: Elf { sh_type: 1, sh_flags: 0 } }
8: Section { name: ".symtab", address: 0, size: 120, align: 8, kind: Metadata, flags: Elf { sh_type: 2, sh_flags: 0 } }
9: Section { name: ".strtab", address: 0, size: 1a, align: 1, kind: Metadata, flags: Elf { sh_type: 3, sh_flags: 0 } }
10: Section { name: ".shstrtab", address: 0, size: 52, align: 1, kind: Metadata, flags: Elf { sh_type: 3, sh_flags: 0 } }
1: Section { name: ".text", address: 0, size: 20, align: 4, kind: Text, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC | SHF_EXECINSTR } }
2: Section { name: ".rela.text", address: 0, size: 48, align: 8, kind: Metadata, flags: Elf { sh_type: SHT_RELA, sh_flags: SHF_INFO_LINK } }
3: Section { name: ".data", address: 0, size: 0, align: 1, kind: Data, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_WRITE | SHF_ALLOC } }
4: Section { name: ".bss", address: 0, size: 0, align: 1, kind: UninitializedData, flags: Elf { sh_type: SHT_NOBITS, sh_flags: SHF_WRITE | SHF_ALLOC } }
5: Section { name: ".rodata", address: 0, size: d, align: 8, kind: ReadOnlyData, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC } }
6: Section { name: ".comment", address: 0, size: 31, align: 1, kind: OtherString, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_MERGE | SHF_STRINGS } }
7: Section { name: ".note.GNU-stack", address: 0, size: 0, align: 1, kind: Other, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: 0 } }
8: Section { name: ".symtab", address: 0, size: 120, align: 8, kind: Metadata, flags: Elf { sh_type: SHT_SYMTAB, sh_flags: 0 } }
9: Section { name: ".strtab", address: 0, size: 1a, align: 1, kind: Metadata, flags: Elf { sh_type: SHT_STRTAB, sh_flags: 0 } }
10: Section { name: ".shstrtab", address: 0, size: 52, align: 1, kind: Metadata, flags: Elf { sh_type: SHT_STRTAB, sh_flags: 0 } }
Symbols
1: Symbol { name: "base.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
2: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
3: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
4: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(4)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
5: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(5)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
6: Symbol { name: "$d", address: 0, size: 0, kind: Unknown, section: Section(SectionIndex(5)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
7: Symbol { name: "$x", address: 0, size: 0, kind: Unknown, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
8: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(7)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
9: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
10: Symbol { name: "main", address: 0, size: 20, kind: Text, section: Section(SectionIndex(1)), scope: Dynamic, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
11: Symbol { name: "printf", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: 10, st_other: 0 } }
1: Symbol { name: "base.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
2: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
3: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
4: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(4)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
5: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(5)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
6: Symbol { name: "$d", address: 0, size: 0, kind: Unknown, section: Section(SectionIndex(5)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
7: Symbol { name: "$x", address: 0, size: 0, kind: Unknown, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
8: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(7)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
9: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
10: Symbol { name: "main", address: 0, size: 20, kind: Text, section: Section(SectionIndex(1)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
11: Symbol { name: "printf", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_NOTYPE, st_other: STV_DEFAULT } }
.text relocations
(8, Relocation { kind: Unknown, encoding: Unknown, size: 0, target: Symbol(SymbolIndex(5)), addend: 0, implicit_addend: false, flags: Elf { r_type: 113 } })
+123 -123
View File
@@ -1,138 +1,138 @@
Format: Elf Little-endian 64-bit
Kind: Dynamic
Architecture: Aarch64
Flags: Elf { os_abi: 0, abi_version: 0, e_flags: 0 }
Flags: Elf { os_abi: ELFOSABI_SYSV, abi_version: 0, e_flags: 0 }
Relative Address Base: 0
Entry Address: 620
Build ID: [f7, 5e, 1f, d9, 4, 9a, 3f, cb, 21, dc, 15, f2, 7b, 5, 32, d8, 61, cf, 16, 2]
Segment { address: 0, size: 7fc, permissions: R-X }
Segment { address: 10d80, size: 298, permissions: RW- }
1: Section { name: ".interp", address: 200, size: 1b, align: 1, kind: ReadOnlyData, flags: Elf { sh_type: 1, sh_flags: 2 } }
2: Section { name: ".note.ABI-tag", address: 21c, size: 20, align: 4, kind: Note, flags: Elf { sh_type: 7, sh_flags: 2 } }
3: Section { name: ".note.gnu.build-id", address: 23c, size: 24, align: 4, kind: Note, flags: Elf { sh_type: 7, sh_flags: 2 } }
4: Section { name: ".gnu.hash", address: 260, size: 1c, align: 8, kind: Unknown, flags: Elf { sh_type: 6ffffff6, sh_flags: 2 } }
5: Section { name: ".dynsym", address: 280, size: f0, align: 8, kind: Metadata, flags: Elf { sh_type: b, sh_flags: 2 } }
6: Section { name: ".dynstr", address: 370, size: 89, align: 1, kind: Metadata, flags: Elf { sh_type: 3, sh_flags: 2 } }
7: Section { name: ".gnu.version", address: 3fa, size: 14, align: 2, kind: Unknown, flags: Elf { sh_type: 6fffffff, sh_flags: 2 } }
8: Section { name: ".gnu.version_r", address: 410, size: 20, align: 8, kind: Unknown, flags: Elf { sh_type: 6ffffffe, sh_flags: 2 } }
9: Section { name: ".rela.dyn", address: 430, size: f0, align: 8, kind: Metadata, flags: Elf { sh_type: 4, sh_flags: 2 } }
10: Section { name: ".rela.plt", address: 520, size: 78, align: 8, kind: Metadata, flags: Elf { sh_type: 4, sh_flags: 42 } }
11: Section { name: ".init", address: 598, size: 14, align: 4, kind: Text, flags: Elf { sh_type: 1, sh_flags: 6 } }
12: Section { name: ".plt", address: 5b0, size: 70, align: 10, kind: Text, flags: Elf { sh_type: 1, sh_flags: 6 } }
13: Section { name: ".text", address: 620, size: 1ac, align: 8, kind: Text, flags: Elf { sh_type: 1, sh_flags: 6 } }
14: Section { name: ".fini", address: 7cc, size: 10, align: 4, kind: Text, flags: Elf { sh_type: 1, sh_flags: 6 } }
15: Section { name: ".rodata", address: 7e0, size: 15, align: 8, kind: ReadOnlyData, flags: Elf { sh_type: 1, sh_flags: 2 } }
16: Section { name: ".eh_frame", address: 7f8, size: 4, align: 4, kind: ReadOnlyData, flags: Elf { sh_type: 1, sh_flags: 2 } }
17: Section { name: ".init_array", address: 10d80, size: 8, align: 8, kind: Unknown, flags: Elf { sh_type: e, sh_flags: 3 } }
18: Section { name: ".fini_array", address: 10d88, size: 8, align: 8, kind: Unknown, flags: Elf { sh_type: f, sh_flags: 3 } }
19: Section { name: ".dynamic", address: 10d90, size: 1f0, align: 8, kind: Metadata, flags: Elf { sh_type: 6, sh_flags: 3 } }
20: Section { name: ".got", address: 10f80, size: 80, align: 8, kind: Data, flags: Elf { sh_type: 1, sh_flags: 3 } }
21: Section { name: ".data", address: 11000, size: 10, align: 8, kind: Data, flags: Elf { sh_type: 1, sh_flags: 3 } }
22: Section { name: ".bss", address: 11010, size: 8, align: 1, kind: UninitializedData, flags: Elf { sh_type: 8, sh_flags: 3 } }
23: Section { name: ".comment", address: 0, size: 30, align: 1, kind: OtherString, flags: Elf { sh_type: 1, sh_flags: 30 } }
24: Section { name: ".symtab", address: 0, size: 840, align: 8, kind: Metadata, flags: Elf { sh_type: 2, sh_flags: 0 } }
25: Section { name: ".strtab", address: 0, size: 347, align: 1, kind: Metadata, flags: Elf { sh_type: 3, sh_flags: 0 } }
26: Section { name: ".shstrtab", address: 0, size: ec, align: 1, kind: Metadata, flags: Elf { sh_type: 3, sh_flags: 0 } }
1: Section { name: ".interp", address: 200, size: 1b, align: 1, kind: ReadOnlyData, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC } }
2: Section { name: ".note.ABI-tag", address: 21c, size: 20, align: 4, kind: Note, flags: Elf { sh_type: SHT_NOTE, sh_flags: SHF_ALLOC } }
3: Section { name: ".note.gnu.build-id", address: 23c, size: 24, align: 4, kind: Note, flags: Elf { sh_type: SHT_NOTE, sh_flags: SHF_ALLOC } }
4: Section { name: ".gnu.hash", address: 260, size: 1c, align: 8, kind: Unknown, flags: Elf { sh_type: SHT_GNU_HASH, sh_flags: SHF_ALLOC } }
5: Section { name: ".dynsym", address: 280, size: f0, align: 8, kind: Metadata, flags: Elf { sh_type: SHT_DYNSYM, sh_flags: SHF_ALLOC } }
6: Section { name: ".dynstr", address: 370, size: 89, align: 1, kind: Metadata, flags: Elf { sh_type: SHT_STRTAB, sh_flags: SHF_ALLOC } }
7: Section { name: ".gnu.version", address: 3fa, size: 14, align: 2, kind: Unknown, flags: Elf { sh_type: SHT_GNU_VERSYM, sh_flags: SHF_ALLOC } }
8: Section { name: ".gnu.version_r", address: 410, size: 20, align: 8, kind: Unknown, flags: Elf { sh_type: SHT_GNU_VERNEED, sh_flags: SHF_ALLOC } }
9: Section { name: ".rela.dyn", address: 430, size: f0, align: 8, kind: Metadata, flags: Elf { sh_type: SHT_RELA, sh_flags: SHF_ALLOC } }
10: Section { name: ".rela.plt", address: 520, size: 78, align: 8, kind: Metadata, flags: Elf { sh_type: SHT_RELA, sh_flags: SHF_ALLOC | SHF_INFO_LINK } }
11: Section { name: ".init", address: 598, size: 14, align: 4, kind: Text, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC | SHF_EXECINSTR } }
12: Section { name: ".plt", address: 5b0, size: 70, align: 10, kind: Text, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC | SHF_EXECINSTR } }
13: Section { name: ".text", address: 620, size: 1ac, align: 8, kind: Text, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC | SHF_EXECINSTR } }
14: Section { name: ".fini", address: 7cc, size: 10, align: 4, kind: Text, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC | SHF_EXECINSTR } }
15: Section { name: ".rodata", address: 7e0, size: 15, align: 8, kind: ReadOnlyData, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC } }
16: Section { name: ".eh_frame", address: 7f8, size: 4, align: 4, kind: ReadOnlyData, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC } }
17: Section { name: ".init_array", address: 10d80, size: 8, align: 8, kind: Unknown, flags: Elf { sh_type: SHT_INIT_ARRAY, sh_flags: SHF_WRITE | SHF_ALLOC } }
18: Section { name: ".fini_array", address: 10d88, size: 8, align: 8, kind: Unknown, flags: Elf { sh_type: SHT_FINI_ARRAY, sh_flags: SHF_WRITE | SHF_ALLOC } }
19: Section { name: ".dynamic", address: 10d90, size: 1f0, align: 8, kind: Metadata, flags: Elf { sh_type: SHT_DYNAMIC, sh_flags: SHF_WRITE | SHF_ALLOC } }
20: Section { name: ".got", address: 10f80, size: 80, align: 8, kind: Data, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_WRITE | SHF_ALLOC } }
21: Section { name: ".data", address: 11000, size: 10, align: 8, kind: Data, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_WRITE | SHF_ALLOC } }
22: Section { name: ".bss", address: 11010, size: 8, align: 1, kind: UninitializedData, flags: Elf { sh_type: SHT_NOBITS, sh_flags: SHF_WRITE | SHF_ALLOC } }
23: Section { name: ".comment", address: 0, size: 30, align: 1, kind: OtherString, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_MERGE | SHF_STRINGS } }
24: Section { name: ".symtab", address: 0, size: 840, align: 8, kind: Metadata, flags: Elf { sh_type: SHT_SYMTAB, sh_flags: 0 } }
25: Section { name: ".strtab", address: 0, size: 347, align: 1, kind: Metadata, flags: Elf { sh_type: SHT_STRTAB, sh_flags: 0 } }
26: Section { name: ".shstrtab", address: 0, size: ec, align: 1, kind: Metadata, flags: Elf { sh_type: SHT_STRTAB, sh_flags: 0 } }
Symbols
1: Symbol { name: "", address: 200, size: 0, kind: Section, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
2: Symbol { name: "", address: 21c, size: 0, kind: Section, section: Section(SectionIndex(2)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
3: Symbol { name: "", address: 23c, size: 0, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
4: Symbol { name: "", address: 260, size: 0, kind: Section, section: Section(SectionIndex(4)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
5: Symbol { name: "", address: 280, size: 0, kind: Section, section: Section(SectionIndex(5)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
6: Symbol { name: "", address: 370, size: 0, kind: Section, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
7: Symbol { name: "", address: 3fa, size: 0, kind: Section, section: Section(SectionIndex(7)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
8: Symbol { name: "", address: 410, size: 0, kind: Section, section: Section(SectionIndex(8)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
9: Symbol { name: "", address: 430, size: 0, kind: Section, section: Section(SectionIndex(9)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
10: Symbol { name: "", address: 520, size: 0, kind: Section, section: Section(SectionIndex(a)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
11: Symbol { name: "", address: 598, size: 0, kind: Section, section: Section(SectionIndex(b)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
12: Symbol { name: "", address: 5b0, size: 0, kind: Section, section: Section(SectionIndex(c)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
13: Symbol { name: "", address: 620, size: 0, kind: Section, section: Section(SectionIndex(d)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
14: Symbol { name: "", address: 7cc, size: 0, kind: Section, section: Section(SectionIndex(e)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
15: Symbol { name: "", address: 7e0, size: 0, kind: Section, section: Section(SectionIndex(f)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
16: Symbol { name: "", address: 7f8, size: 0, kind: Section, section: Section(SectionIndex(10)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
17: Symbol { name: "", address: 10d80, size: 0, kind: Section, section: Section(SectionIndex(11)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
18: Symbol { name: "", address: 10d88, size: 0, kind: Section, section: Section(SectionIndex(12)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
19: Symbol { name: "", address: 10d90, size: 0, kind: Section, section: Section(SectionIndex(13)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
20: Symbol { name: "", address: 10f80, size: 0, kind: Section, section: Section(SectionIndex(14)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
21: Symbol { name: "", address: 11000, size: 0, kind: Section, section: Section(SectionIndex(15)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
22: Symbol { name: "", address: 11010, size: 0, kind: Section, section: Section(SectionIndex(16)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
23: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(17)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
24: Symbol { name: "/usr/lib/gcc-cross/aarch64-linux-gnu/7/../../../../aarch64-linux-gnu/lib/../lib/Scrt1.o", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
25: Symbol { name: "$d", address: 21c, size: 0, kind: Unknown, section: Section(SectionIndex(2)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
26: Symbol { name: "$x", address: 620, size: 0, kind: Unknown, section: Section(SectionIndex(d)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
27: Symbol { name: "$d", address: 7e0, size: 0, kind: Unknown, section: Section(SectionIndex(f)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
28: Symbol { name: "/usr/lib/gcc-cross/aarch64-linux-gnu/7/../../../../aarch64-linux-gnu/lib/../lib/crti.o", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
29: Symbol { name: "$x", address: 658, size: 0, kind: Unknown, section: Section(SectionIndex(d)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
30: Symbol { name: "call_weak_fn", address: 658, size: 14, kind: Text, section: Section(SectionIndex(d)), scope: Compilation, weak: false, flags: Elf { st_info: 2, st_other: 0 } }
31: Symbol { name: "$x", address: 598, size: 0, kind: Unknown, section: Section(SectionIndex(b)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
32: Symbol { name: "$x", address: 7cc, size: 0, kind: Unknown, section: Section(SectionIndex(e)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
33: Symbol { name: "/usr/lib/gcc-cross/aarch64-linux-gnu/7/../../../../aarch64-linux-gnu/lib/../lib/crtn.o", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
34: Symbol { name: "$x", address: 5a4, size: 0, kind: Unknown, section: Section(SectionIndex(b)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
35: Symbol { name: "$x", address: 7d4, size: 0, kind: Unknown, section: Section(SectionIndex(e)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
36: Symbol { name: "crtstuff.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
37: Symbol { name: "$x", address: 670, size: 0, kind: Unknown, section: Section(SectionIndex(d)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
38: Symbol { name: "deregister_tm_clones", address: 670, size: 0, kind: Text, section: Section(SectionIndex(d)), scope: Compilation, weak: false, flags: Elf { st_info: 2, st_other: 0 } }
39: Symbol { name: "register_tm_clones", address: 6a0, size: 0, kind: Text, section: Section(SectionIndex(d)), scope: Compilation, weak: false, flags: Elf { st_info: 2, st_other: 0 } }
40: Symbol { name: "$d", address: 11008, size: 0, kind: Unknown, section: Section(SectionIndex(15)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
41: Symbol { name: "__do_global_dtors_aux", address: 6d8, size: 0, kind: Text, section: Section(SectionIndex(d)), scope: Compilation, weak: false, flags: Elf { st_info: 2, st_other: 0 } }
42: Symbol { name: "completed.8500", address: 11010, size: 1, kind: Data, section: Section(SectionIndex(16)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
43: Symbol { name: "$d", address: 10d88, size: 0, kind: Unknown, section: Section(SectionIndex(12)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
44: Symbol { name: "__do_global_dtors_aux_fini_array_entry", address: 10d88, size: 0, kind: Data, section: Section(SectionIndex(12)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
45: Symbol { name: "frame_dummy", address: 720, size: 0, kind: Text, section: Section(SectionIndex(d)), scope: Compilation, weak: false, flags: Elf { st_info: 2, st_other: 0 } }
46: Symbol { name: "$d", address: 10d80, size: 0, kind: Unknown, section: Section(SectionIndex(11)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
47: Symbol { name: "__frame_dummy_init_array_entry", address: 10d80, size: 0, kind: Data, section: Section(SectionIndex(11)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
48: Symbol { name: "$d", address: 11010, size: 0, kind: Unknown, section: Section(SectionIndex(16)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
49: Symbol { name: "base.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
50: Symbol { name: "$d", address: 7e8, size: 0, kind: Unknown, section: Section(SectionIndex(f)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
51: Symbol { name: "$x", address: 724, size: 0, kind: Unknown, section: Section(SectionIndex(d)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
52: Symbol { name: "elf-init.oS", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
53: Symbol { name: "$x", address: 748, size: 0, kind: Unknown, section: Section(SectionIndex(d)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
54: Symbol { name: "crtstuff.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
55: Symbol { name: "$d", address: 7f8, size: 0, kind: Unknown, section: Section(SectionIndex(10)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
56: Symbol { name: "__FRAME_END__", address: 7f8, size: 0, kind: Data, section: Section(SectionIndex(10)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
57: Symbol { name: "", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
58: Symbol { name: "__init_array_end", address: 10d88, size: 0, kind: Unknown, section: Section(SectionIndex(11)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
59: Symbol { name: "_DYNAMIC", address: 10d90, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
60: Symbol { name: "__init_array_start", address: 10d80, size: 0, kind: Unknown, section: Section(SectionIndex(11)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
61: Symbol { name: "_GLOBAL_OFFSET_TABLE_", address: 10fc0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
62: Symbol { name: "$x", address: 5b0, size: 0, kind: Unknown, section: Section(SectionIndex(c)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
63: Symbol { name: "__libc_csu_fini", address: 7c8, size: 4, kind: Text, section: Section(SectionIndex(d)), scope: Dynamic, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
64: Symbol { name: "_ITM_deregisterTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
65: Symbol { name: "data_start", address: 11000, size: 0, kind: Unknown, section: Section(SectionIndex(15)), scope: Dynamic, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
66: Symbol { name: "__bss_start__", address: 11010, size: 0, kind: Unknown, section: Section(SectionIndex(16)), scope: Dynamic, weak: false, flags: Elf { st_info: 10, st_other: 0 } }
67: Symbol { name: "__cxa_finalize@@GLIBC_2.17", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 22, st_other: 0 } }
68: Symbol { name: "_bss_end__", address: 11018, size: 0, kind: Unknown, section: Section(SectionIndex(16)), scope: Dynamic, weak: false, flags: Elf { st_info: 10, st_other: 0 } }
69: Symbol { name: "_edata", address: 11010, size: 0, kind: Unknown, section: Section(SectionIndex(15)), scope: Dynamic, weak: false, flags: Elf { st_info: 10, st_other: 0 } }
70: Symbol { name: "_fini", address: 7cc, size: 0, kind: Text, section: Section(SectionIndex(e)), scope: Dynamic, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
71: Symbol { name: "__bss_end__", address: 11018, size: 0, kind: Unknown, section: Section(SectionIndex(16)), scope: Dynamic, weak: false, flags: Elf { st_info: 10, st_other: 0 } }
72: Symbol { name: "__libc_start_main@@GLIBC_2.17", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
73: Symbol { name: "__data_start", address: 11000, size: 0, kind: Unknown, section: Section(SectionIndex(15)), scope: Dynamic, weak: false, flags: Elf { st_info: 10, st_other: 0 } }
74: Symbol { name: "__gmon_start__", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
75: Symbol { name: "__dso_handle", address: 11008, size: 0, kind: Data, section: Section(SectionIndex(15)), scope: Linkage, weak: false, flags: Elf { st_info: 11, st_other: 2 } }
76: Symbol { name: "abort@@GLIBC_2.17", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
77: Symbol { name: "_IO_stdin_used", address: 7e0, size: 4, kind: Data, section: Section(SectionIndex(f)), scope: Dynamic, weak: false, flags: Elf { st_info: 11, st_other: 0 } }
78: Symbol { name: "__libc_csu_init", address: 748, size: 80, kind: Text, section: Section(SectionIndex(d)), scope: Dynamic, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
79: Symbol { name: "_end", address: 11018, size: 0, kind: Unknown, section: Section(SectionIndex(16)), scope: Dynamic, weak: false, flags: Elf { st_info: 10, st_other: 0 } }
80: Symbol { name: "_start", address: 620, size: 0, kind: Text, section: Section(SectionIndex(d)), scope: Dynamic, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
81: Symbol { name: "__end__", address: 11018, size: 0, kind: Unknown, section: Section(SectionIndex(16)), scope: Dynamic, weak: false, flags: Elf { st_info: 10, st_other: 0 } }
82: Symbol { name: "__bss_start", address: 11010, size: 0, kind: Unknown, section: Section(SectionIndex(16)), scope: Dynamic, weak: false, flags: Elf { st_info: 10, st_other: 0 } }
83: Symbol { name: "main", address: 724, size: 20, kind: Text, section: Section(SectionIndex(d)), scope: Dynamic, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
84: Symbol { name: "__TMC_END__", address: 11010, size: 0, kind: Data, section: Section(SectionIndex(15)), scope: Linkage, weak: false, flags: Elf { st_info: 11, st_other: 2 } }
85: Symbol { name: "_ITM_registerTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
86: Symbol { name: "printf@@GLIBC_2.17", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
87: Symbol { name: "_init", address: 598, size: 0, kind: Text, section: Section(SectionIndex(b)), scope: Dynamic, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
1: Symbol { name: "", address: 200, size: 0, kind: Section, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
2: Symbol { name: "", address: 21c, size: 0, kind: Section, section: Section(SectionIndex(2)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
3: Symbol { name: "", address: 23c, size: 0, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
4: Symbol { name: "", address: 260, size: 0, kind: Section, section: Section(SectionIndex(4)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
5: Symbol { name: "", address: 280, size: 0, kind: Section, section: Section(SectionIndex(5)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
6: Symbol { name: "", address: 370, size: 0, kind: Section, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
7: Symbol { name: "", address: 3fa, size: 0, kind: Section, section: Section(SectionIndex(7)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
8: Symbol { name: "", address: 410, size: 0, kind: Section, section: Section(SectionIndex(8)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
9: Symbol { name: "", address: 430, size: 0, kind: Section, section: Section(SectionIndex(9)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
10: Symbol { name: "", address: 520, size: 0, kind: Section, section: Section(SectionIndex(a)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
11: Symbol { name: "", address: 598, size: 0, kind: Section, section: Section(SectionIndex(b)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
12: Symbol { name: "", address: 5b0, size: 0, kind: Section, section: Section(SectionIndex(c)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
13: Symbol { name: "", address: 620, size: 0, kind: Section, section: Section(SectionIndex(d)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
14: Symbol { name: "", address: 7cc, size: 0, kind: Section, section: Section(SectionIndex(e)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
15: Symbol { name: "", address: 7e0, size: 0, kind: Section, section: Section(SectionIndex(f)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
16: Symbol { name: "", address: 7f8, size: 0, kind: Section, section: Section(SectionIndex(10)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
17: Symbol { name: "", address: 10d80, size: 0, kind: Section, section: Section(SectionIndex(11)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
18: Symbol { name: "", address: 10d88, size: 0, kind: Section, section: Section(SectionIndex(12)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
19: Symbol { name: "", address: 10d90, size: 0, kind: Section, section: Section(SectionIndex(13)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
20: Symbol { name: "", address: 10f80, size: 0, kind: Section, section: Section(SectionIndex(14)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
21: Symbol { name: "", address: 11000, size: 0, kind: Section, section: Section(SectionIndex(15)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
22: Symbol { name: "", address: 11010, size: 0, kind: Section, section: Section(SectionIndex(16)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
23: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(17)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
24: Symbol { name: "/usr/lib/gcc-cross/aarch64-linux-gnu/7/../../../../aarch64-linux-gnu/lib/../lib/Scrt1.o", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
25: Symbol { name: "$d", address: 21c, size: 0, kind: Unknown, section: Section(SectionIndex(2)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
26: Symbol { name: "$x", address: 620, size: 0, kind: Unknown, section: Section(SectionIndex(d)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
27: Symbol { name: "$d", address: 7e0, size: 0, kind: Unknown, section: Section(SectionIndex(f)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
28: Symbol { name: "/usr/lib/gcc-cross/aarch64-linux-gnu/7/../../../../aarch64-linux-gnu/lib/../lib/crti.o", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
29: Symbol { name: "$x", address: 658, size: 0, kind: Unknown, section: Section(SectionIndex(d)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
30: Symbol { name: "call_weak_fn", address: 658, size: 14, kind: Text, section: Section(SectionIndex(d)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FUNC, st_other: STV_DEFAULT } }
31: Symbol { name: "$x", address: 598, size: 0, kind: Unknown, section: Section(SectionIndex(b)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
32: Symbol { name: "$x", address: 7cc, size: 0, kind: Unknown, section: Section(SectionIndex(e)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
33: Symbol { name: "/usr/lib/gcc-cross/aarch64-linux-gnu/7/../../../../aarch64-linux-gnu/lib/../lib/crtn.o", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
34: Symbol { name: "$x", address: 5a4, size: 0, kind: Unknown, section: Section(SectionIndex(b)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
35: Symbol { name: "$x", address: 7d4, size: 0, kind: Unknown, section: Section(SectionIndex(e)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
36: Symbol { name: "crtstuff.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
37: Symbol { name: "$x", address: 670, size: 0, kind: Unknown, section: Section(SectionIndex(d)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
38: Symbol { name: "deregister_tm_clones", address: 670, size: 0, kind: Text, section: Section(SectionIndex(d)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FUNC, st_other: STV_DEFAULT } }
39: Symbol { name: "register_tm_clones", address: 6a0, size: 0, kind: Text, section: Section(SectionIndex(d)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FUNC, st_other: STV_DEFAULT } }
40: Symbol { name: "$d", address: 11008, size: 0, kind: Unknown, section: Section(SectionIndex(15)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
41: Symbol { name: "__do_global_dtors_aux", address: 6d8, size: 0, kind: Text, section: Section(SectionIndex(d)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FUNC, st_other: STV_DEFAULT } }
42: Symbol { name: "completed.8500", address: 11010, size: 1, kind: Data, section: Section(SectionIndex(16)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
43: Symbol { name: "$d", address: 10d88, size: 0, kind: Unknown, section: Section(SectionIndex(12)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
44: Symbol { name: "__do_global_dtors_aux_fini_array_entry", address: 10d88, size: 0, kind: Data, section: Section(SectionIndex(12)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
45: Symbol { name: "frame_dummy", address: 720, size: 0, kind: Text, section: Section(SectionIndex(d)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FUNC, st_other: STV_DEFAULT } }
46: Symbol { name: "$d", address: 10d80, size: 0, kind: Unknown, section: Section(SectionIndex(11)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
47: Symbol { name: "__frame_dummy_init_array_entry", address: 10d80, size: 0, kind: Data, section: Section(SectionIndex(11)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
48: Symbol { name: "$d", address: 11010, size: 0, kind: Unknown, section: Section(SectionIndex(16)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
49: Symbol { name: "base.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
50: Symbol { name: "$d", address: 7e8, size: 0, kind: Unknown, section: Section(SectionIndex(f)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
51: Symbol { name: "$x", address: 724, size: 0, kind: Unknown, section: Section(SectionIndex(d)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
52: Symbol { name: "elf-init.oS", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
53: Symbol { name: "$x", address: 748, size: 0, kind: Unknown, section: Section(SectionIndex(d)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
54: Symbol { name: "crtstuff.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
55: Symbol { name: "$d", address: 7f8, size: 0, kind: Unknown, section: Section(SectionIndex(10)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
56: Symbol { name: "__FRAME_END__", address: 7f8, size: 0, kind: Data, section: Section(SectionIndex(10)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
57: Symbol { name: "", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
58: Symbol { name: "__init_array_end", address: 10d88, size: 0, kind: Unknown, section: Section(SectionIndex(11)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
59: Symbol { name: "_DYNAMIC", address: 10d90, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
60: Symbol { name: "__init_array_start", address: 10d80, size: 0, kind: Unknown, section: Section(SectionIndex(11)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
61: Symbol { name: "_GLOBAL_OFFSET_TABLE_", address: 10fc0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
62: Symbol { name: "$x", address: 5b0, size: 0, kind: Unknown, section: Section(SectionIndex(c)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
63: Symbol { name: "__libc_csu_fini", address: 7c8, size: 4, kind: Text, section: Section(SectionIndex(d)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
64: Symbol { name: "_ITM_deregisterTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
65: Symbol { name: "data_start", address: 11000, size: 0, kind: Unknown, section: Section(SectionIndex(15)), scope: Dynamic, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
66: Symbol { name: "__bss_start__", address: 11010, size: 0, kind: Unknown, section: Section(SectionIndex(16)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_NOTYPE, st_other: STV_DEFAULT } }
67: Symbol { name: "__cxa_finalize@@GLIBC_2.17", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_FUNC, st_other: STV_DEFAULT } }
68: Symbol { name: "_bss_end__", address: 11018, size: 0, kind: Unknown, section: Section(SectionIndex(16)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_NOTYPE, st_other: STV_DEFAULT } }
69: Symbol { name: "_edata", address: 11010, size: 0, kind: Unknown, section: Section(SectionIndex(15)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_NOTYPE, st_other: STV_DEFAULT } }
70: Symbol { name: "_fini", address: 7cc, size: 0, kind: Text, section: Section(SectionIndex(e)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
71: Symbol { name: "__bss_end__", address: 11018, size: 0, kind: Unknown, section: Section(SectionIndex(16)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_NOTYPE, st_other: STV_DEFAULT } }
72: Symbol { name: "__libc_start_main@@GLIBC_2.17", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
73: Symbol { name: "__data_start", address: 11000, size: 0, kind: Unknown, section: Section(SectionIndex(15)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_NOTYPE, st_other: STV_DEFAULT } }
74: Symbol { name: "__gmon_start__", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
75: Symbol { name: "__dso_handle", address: 11008, size: 0, kind: Data, section: Section(SectionIndex(15)), scope: Linkage, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_OBJECT, st_other: STV_HIDDEN } }
76: Symbol { name: "abort@@GLIBC_2.17", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
77: Symbol { name: "_IO_stdin_used", address: 7e0, size: 4, kind: Data, section: Section(SectionIndex(f)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_OBJECT, st_other: STV_DEFAULT } }
78: Symbol { name: "__libc_csu_init", address: 748, size: 80, kind: Text, section: Section(SectionIndex(d)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
79: Symbol { name: "_end", address: 11018, size: 0, kind: Unknown, section: Section(SectionIndex(16)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_NOTYPE, st_other: STV_DEFAULT } }
80: Symbol { name: "_start", address: 620, size: 0, kind: Text, section: Section(SectionIndex(d)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
81: Symbol { name: "__end__", address: 11018, size: 0, kind: Unknown, section: Section(SectionIndex(16)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_NOTYPE, st_other: STV_DEFAULT } }
82: Symbol { name: "__bss_start", address: 11010, size: 0, kind: Unknown, section: Section(SectionIndex(16)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_NOTYPE, st_other: STV_DEFAULT } }
83: Symbol { name: "main", address: 724, size: 20, kind: Text, section: Section(SectionIndex(d)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
84: Symbol { name: "__TMC_END__", address: 11010, size: 0, kind: Data, section: Section(SectionIndex(15)), scope: Linkage, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_OBJECT, st_other: STV_HIDDEN } }
85: Symbol { name: "_ITM_registerTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
86: Symbol { name: "printf@@GLIBC_2.17", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
87: Symbol { name: "_init", address: 598, size: 0, kind: Text, section: Section(SectionIndex(b)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
Dynamic symbols
1: Symbol { name: "", address: 598, size: 0, kind: Section, section: Section(SectionIndex(b)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
2: Symbol { name: "", address: 11000, size: 0, kind: Section, section: Section(SectionIndex(15)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
3: Symbol { name: "_ITM_deregisterTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
4: Symbol { name: "__cxa_finalize", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 22, st_other: 0 } }
5: Symbol { name: "__libc_start_main", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
6: Symbol { name: "__gmon_start__", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
7: Symbol { name: "abort", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
8: Symbol { name: "_ITM_registerTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
9: Symbol { name: "printf", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
1: Symbol { name: "", address: 598, size: 0, kind: Section, section: Section(SectionIndex(b)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
2: Symbol { name: "", address: 11000, size: 0, kind: Section, section: Section(SectionIndex(15)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
3: Symbol { name: "_ITM_deregisterTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
4: Symbol { name: "__cxa_finalize", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_FUNC, st_other: STV_DEFAULT } }
5: Symbol { name: "__libc_start_main", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
6: Symbol { name: "__gmon_start__", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
7: Symbol { name: "abort", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
8: Symbol { name: "_ITM_registerTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
9: Symbol { name: "printf", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
Dynamic relocations
(10d80, Relocation { kind: Unknown, encoding: Unknown, size: 0, target: Absolute, addend: 720, implicit_addend: false, flags: Elf { r_type: 403 } })
@@ -161,8 +161,7 @@ ProgramHeader {
}
Dynamic {
Tag: DT_FLAGS (0x1E)
Value: 0x8
DF_BIND_NOW (0x8)
Value: DF_BIND_NOW (0x8)
}
Dynamic {
Tag: DT_FLAGS_1 (0x6FFFFFFB)
@@ -851,8 +850,7 @@ SectionHeader {
}
Dynamic {
Tag: DT_FLAGS (0x1E)
Value: 0x8
DF_BIND_NOW (0x8)
Value: DF_BIND_NOW (0x8)
}
Dynamic {
Tag: DT_FLAGS_1 (0x6FFFFFFB)
@@ -1,26 +1,26 @@
Format: Elf Little-endian 64-bit
Kind: Relocatable
Architecture: X86_64
Flags: Elf { os_abi: 0, abi_version: 0, e_flags: 0 }
Flags: Elf { os_abi: ELFOSABI_SYSV, abi_version: 0, e_flags: 0 }
Relative Address Base: 0
Entry Address: 0
1: Section { name: ".strtab", address: 0, size: 7b, align: 1, kind: Metadata, flags: Elf { sh_type: 3, sh_flags: 0 } }
2: Section { name: ".text", address: 0, size: 25, align: 10, kind: Text, flags: Elf { sh_type: 1, sh_flags: 6 } }
3: Section { name: ".crel.text", address: 0, size: 9, align: 1, kind: Metadata, flags: Elf { sh_type: 40000014, sh_flags: 40 } }
4: Section { name: ".rodata.str1.1", address: 0, size: d, align: 1, kind: ReadOnlyString, flags: Elf { sh_type: 1, sh_flags: 32 } }
5: Section { name: ".comment", address: 0, size: 57, align: 1, kind: OtherString, flags: Elf { sh_type: 1, sh_flags: 30 } }
6: Section { name: ".note.GNU-stack", address: 0, size: 0, align: 1, kind: Other, flags: Elf { sh_type: 1, sh_flags: 0 } }
7: Section { name: ".eh_frame", address: 0, size: 38, align: 8, kind: Unknown, flags: Elf { sh_type: 70000001, sh_flags: 2 } }
8: Section { name: ".crel.eh_frame", address: 0, size: 4, align: 1, kind: Metadata, flags: Elf { sh_type: 40000014, sh_flags: 40 } }
9: Section { name: ".llvm_addrsig", address: 0, size: 1, align: 1, kind: Unknown, flags: Elf { sh_type: 6fff4c03, sh_flags: 80000000 } }
10: Section { name: ".symtab", address: 0, size: 90, align: 8, kind: Metadata, flags: Elf { sh_type: 2, sh_flags: 0 } }
1: Section { name: ".strtab", address: 0, size: 7b, align: 1, kind: Metadata, flags: Elf { sh_type: SHT_STRTAB, sh_flags: 0 } }
2: Section { name: ".text", address: 0, size: 25, align: 10, kind: Text, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC | SHF_EXECINSTR } }
3: Section { name: ".crel.text", address: 0, size: 9, align: 1, kind: Metadata, flags: Elf { sh_type: SHT_CREL, sh_flags: SHF_INFO_LINK } }
4: Section { name: ".rodata.str1.1", address: 0, size: d, align: 1, kind: ReadOnlyString, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC | SHF_MERGE | SHF_STRINGS } }
5: Section { name: ".comment", address: 0, size: 57, align: 1, kind: OtherString, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_MERGE | SHF_STRINGS } }
6: Section { name: ".note.GNU-stack", address: 0, size: 0, align: 1, kind: Other, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: 0 } }
7: Section { name: ".eh_frame", address: 0, size: 38, align: 8, kind: Unknown, flags: Elf { sh_type: 70000001, sh_flags: SHF_ALLOC } }
8: Section { name: ".crel.eh_frame", address: 0, size: 4, align: 1, kind: Metadata, flags: Elf { sh_type: SHT_CREL, sh_flags: SHF_INFO_LINK } }
9: Section { name: ".llvm_addrsig", address: 0, size: 1, align: 1, kind: Unknown, flags: Elf { sh_type: 6fff4c03, sh_flags: SHF_EXCLUDE } }
10: Section { name: ".symtab", address: 0, size: 90, align: 8, kind: Metadata, flags: Elf { sh_type: SHT_SYMTAB, sh_flags: 0 } }
Symbols
1: Symbol { name: "base.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
2: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(2)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
3: Symbol { name: ".L.str", address: 0, size: d, kind: Data, section: Section(SectionIndex(4)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
4: Symbol { name: "main", address: 0, size: 25, kind: Text, section: Section(SectionIndex(2)), scope: Dynamic, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
5: Symbol { name: "printf", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: 10, st_other: 0 } }
1: Symbol { name: "base.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
2: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(2)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
3: Symbol { name: ".L.str", address: 0, size: d, kind: Data, section: Section(SectionIndex(4)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
4: Symbol { name: "main", address: 0, size: 25, kind: Text, section: Section(SectionIndex(2)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
5: Symbol { name: "printf", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_NOTYPE, st_other: STV_DEFAULT } }
.text relocations
(12, Relocation { kind: Relative, encoding: Generic, size: 20, target: Symbol(SymbolIndex(3)), addend: fffffffffffffffc, implicit_addend: false, flags: Elf { r_type: 2 } })
@@ -1,7 +1,7 @@
Format: Elf Little-endian 32-bit
Kind: Dynamic
Architecture: I386
Flags: Elf { os_abi: 0, abi_version: 0, e_flags: 0 }
Flags: Elf { os_abi: ELFOSABI_SYSV, abi_version: 0, e_flags: 0 }
Relative Address Base: 0
Entry Address: 1060
Build ID: [20, f1, cf, 5c, 28, a0, 2e, 84, 7f, 7d, 64, 9b, 89, ed, 5e, 93, 3e, 47, 4b, 98]
@@ -9,85 +9,85 @@ Segment { address: 0, size: 3e8, permissions: R-- }
Segment { address: 1000, size: 1e8, permissions: R-X }
Segment { address: 2000, size: 114, permissions: R-- }
Segment { address: 3ec0, size: 14c, permissions: RW- }
1: Section { name: ".interp", address: 194, size: 13, align: 1, kind: ReadOnlyData, flags: Elf { sh_type: 1, sh_flags: 2 } }
2: Section { name: ".note.gnu.build-id", address: 1a8, size: 24, align: 4, kind: Note, flags: Elf { sh_type: 7, sh_flags: 2 } }
3: Section { name: ".note.ABI-tag", address: 1cc, size: 20, align: 4, kind: Note, flags: Elf { sh_type: 7, sh_flags: 2 } }
4: Section { name: ".gnu.hash", address: 1ec, size: 20, align: 4, kind: Unknown, flags: Elf { sh_type: 6ffffff6, sh_flags: 2 } }
5: Section { name: ".dynsym", address: 20c, size: 80, align: 4, kind: Metadata, flags: Elf { sh_type: b, sh_flags: 2 } }
6: Section { name: ".dynstr", address: 28c, size: ba, align: 1, kind: Metadata, flags: Elf { sh_type: 3, sh_flags: 2 } }
7: Section { name: ".gnu.version", address: 346, size: 10, align: 2, kind: Unknown, flags: Elf { sh_type: 6fffffff, sh_flags: 2 } }
8: Section { name: ".gnu.version_r", address: 358, size: 50, align: 4, kind: Unknown, flags: Elf { sh_type: 6ffffffe, sh_flags: 2 } }
9: Section { name: ".rel.dyn", address: 3a8, size: 20, align: 4, kind: Metadata, flags: Elf { sh_type: 9, sh_flags: 2 } }
10: Section { name: ".rel.plt", address: 3c8, size: 10, align: 4, kind: Metadata, flags: Elf { sh_type: 9, sh_flags: 42 } }
11: Section { name: ".relr.dyn", address: 3d8, size: 10, align: 4, kind: Metadata, flags: Elf { sh_type: 13, sh_flags: 2 } }
12: Section { name: ".init", address: 1000, size: 20, align: 4, kind: Text, flags: Elf { sh_type: 1, sh_flags: 6 } }
13: Section { name: ".plt", address: 1020, size: 30, align: 10, kind: Text, flags: Elf { sh_type: 1, sh_flags: 6 } }
14: Section { name: ".plt.got", address: 1050, size: 8, align: 8, kind: Text, flags: Elf { sh_type: 1, sh_flags: 6 } }
15: Section { name: ".text", address: 1060, size: 171, align: 10, kind: Text, flags: Elf { sh_type: 1, sh_flags: 6 } }
16: Section { name: ".fini", address: 11d4, size: 14, align: 4, kind: Text, flags: Elf { sh_type: 1, sh_flags: 6 } }
17: Section { name: ".rodata", address: 2000, size: 15, align: 4, kind: ReadOnlyData, flags: Elf { sh_type: 1, sh_flags: 2 } }
18: Section { name: ".eh_frame_hdr", address: 2018, size: 34, align: 4, kind: ReadOnlyData, flags: Elf { sh_type: 1, sh_flags: 2 } }
19: Section { name: ".eh_frame", address: 204c, size: c8, align: 4, kind: ReadOnlyData, flags: Elf { sh_type: 1, sh_flags: 2 } }
20: Section { name: ".init_array", address: 3ec0, size: 4, align: 4, kind: Unknown, flags: Elf { sh_type: e, sh_flags: 3 } }
21: Section { name: ".fini_array", address: 3ec4, size: 4, align: 4, kind: Unknown, flags: Elf { sh_type: f, sh_flags: 3 } }
22: Section { name: ".dynamic", address: 3ec8, size: 110, align: 4, kind: Metadata, flags: Elf { sh_type: 6, sh_flags: 3 } }
23: Section { name: ".got", address: 3fd8, size: 28, align: 4, kind: Data, flags: Elf { sh_type: 1, sh_flags: 3 } }
24: Section { name: ".data", address: 4000, size: 8, align: 4, kind: Data, flags: Elf { sh_type: 1, sh_flags: 3 } }
25: Section { name: ".bss", address: 4008, size: 4, align: 1, kind: UninitializedData, flags: Elf { sh_type: 8, sh_flags: 3 } }
26: Section { name: ".comment", address: 0, size: 26, align: 1, kind: OtherString, flags: Elf { sh_type: 1, sh_flags: 30 } }
27: Section { name: ".symtab", address: 0, size: 280, align: 4, kind: Metadata, flags: Elf { sh_type: 2, sh_flags: 0 } }
28: Section { name: ".strtab", address: 0, size: 223, align: 1, kind: Metadata, flags: Elf { sh_type: 3, sh_flags: 0 } }
29: Section { name: ".shstrtab", address: 0, size: 106, align: 1, kind: Metadata, flags: Elf { sh_type: 3, sh_flags: 0 } }
1: Section { name: ".interp", address: 194, size: 13, align: 1, kind: ReadOnlyData, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC } }
2: Section { name: ".note.gnu.build-id", address: 1a8, size: 24, align: 4, kind: Note, flags: Elf { sh_type: SHT_NOTE, sh_flags: SHF_ALLOC } }
3: Section { name: ".note.ABI-tag", address: 1cc, size: 20, align: 4, kind: Note, flags: Elf { sh_type: SHT_NOTE, sh_flags: SHF_ALLOC } }
4: Section { name: ".gnu.hash", address: 1ec, size: 20, align: 4, kind: Unknown, flags: Elf { sh_type: SHT_GNU_HASH, sh_flags: SHF_ALLOC } }
5: Section { name: ".dynsym", address: 20c, size: 80, align: 4, kind: Metadata, flags: Elf { sh_type: SHT_DYNSYM, sh_flags: SHF_ALLOC } }
6: Section { name: ".dynstr", address: 28c, size: ba, align: 1, kind: Metadata, flags: Elf { sh_type: SHT_STRTAB, sh_flags: SHF_ALLOC } }
7: Section { name: ".gnu.version", address: 346, size: 10, align: 2, kind: Unknown, flags: Elf { sh_type: SHT_GNU_VERSYM, sh_flags: SHF_ALLOC } }
8: Section { name: ".gnu.version_r", address: 358, size: 50, align: 4, kind: Unknown, flags: Elf { sh_type: SHT_GNU_VERNEED, sh_flags: SHF_ALLOC } }
9: Section { name: ".rel.dyn", address: 3a8, size: 20, align: 4, kind: Metadata, flags: Elf { sh_type: SHT_REL, sh_flags: SHF_ALLOC } }
10: Section { name: ".rel.plt", address: 3c8, size: 10, align: 4, kind: Metadata, flags: Elf { sh_type: SHT_REL, sh_flags: SHF_ALLOC | SHF_INFO_LINK } }
11: Section { name: ".relr.dyn", address: 3d8, size: 10, align: 4, kind: Metadata, flags: Elf { sh_type: SHT_RELR, sh_flags: SHF_ALLOC } }
12: Section { name: ".init", address: 1000, size: 20, align: 4, kind: Text, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC | SHF_EXECINSTR } }
13: Section { name: ".plt", address: 1020, size: 30, align: 10, kind: Text, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC | SHF_EXECINSTR } }
14: Section { name: ".plt.got", address: 1050, size: 8, align: 8, kind: Text, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC | SHF_EXECINSTR } }
15: Section { name: ".text", address: 1060, size: 171, align: 10, kind: Text, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC | SHF_EXECINSTR } }
16: Section { name: ".fini", address: 11d4, size: 14, align: 4, kind: Text, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC | SHF_EXECINSTR } }
17: Section { name: ".rodata", address: 2000, size: 15, align: 4, kind: ReadOnlyData, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC } }
18: Section { name: ".eh_frame_hdr", address: 2018, size: 34, align: 4, kind: ReadOnlyData, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC } }
19: Section { name: ".eh_frame", address: 204c, size: c8, align: 4, kind: ReadOnlyData, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC } }
20: Section { name: ".init_array", address: 3ec0, size: 4, align: 4, kind: Unknown, flags: Elf { sh_type: SHT_INIT_ARRAY, sh_flags: SHF_WRITE | SHF_ALLOC } }
21: Section { name: ".fini_array", address: 3ec4, size: 4, align: 4, kind: Unknown, flags: Elf { sh_type: SHT_FINI_ARRAY, sh_flags: SHF_WRITE | SHF_ALLOC } }
22: Section { name: ".dynamic", address: 3ec8, size: 110, align: 4, kind: Metadata, flags: Elf { sh_type: SHT_DYNAMIC, sh_flags: SHF_WRITE | SHF_ALLOC } }
23: Section { name: ".got", address: 3fd8, size: 28, align: 4, kind: Data, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_WRITE | SHF_ALLOC } }
24: Section { name: ".data", address: 4000, size: 8, align: 4, kind: Data, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_WRITE | SHF_ALLOC } }
25: Section { name: ".bss", address: 4008, size: 4, align: 1, kind: UninitializedData, flags: Elf { sh_type: SHT_NOBITS, sh_flags: SHF_WRITE | SHF_ALLOC } }
26: Section { name: ".comment", address: 0, size: 26, align: 1, kind: OtherString, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_MERGE | SHF_STRINGS } }
27: Section { name: ".symtab", address: 0, size: 280, align: 4, kind: Metadata, flags: Elf { sh_type: SHT_SYMTAB, sh_flags: 0 } }
28: Section { name: ".strtab", address: 0, size: 223, align: 1, kind: Metadata, flags: Elf { sh_type: SHT_STRTAB, sh_flags: 0 } }
29: Section { name: ".shstrtab", address: 0, size: 106, align: 1, kind: Metadata, flags: Elf { sh_type: SHT_STRTAB, sh_flags: 0 } }
Symbols
1: Symbol { name: "Scrt1.o", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
2: Symbol { name: "__abi_tag", address: 1cc, size: 20, kind: Data, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
3: Symbol { name: "crtstuff.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
4: Symbol { name: "deregister_tm_clones", address: 10a0, size: 0, kind: Text, section: Section(SectionIndex(f)), scope: Compilation, weak: false, flags: Elf { st_info: 2, st_other: 0 } }
5: Symbol { name: "register_tm_clones", address: 10e0, size: 0, kind: Text, section: Section(SectionIndex(f)), scope: Compilation, weak: false, flags: Elf { st_info: 2, st_other: 0 } }
6: Symbol { name: "__do_global_dtors_aux", address: 1130, size: 0, kind: Text, section: Section(SectionIndex(f)), scope: Compilation, weak: false, flags: Elf { st_info: 2, st_other: 0 } }
7: Symbol { name: "completed.0", address: 4008, size: 1, kind: Data, section: Section(SectionIndex(19)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
8: Symbol { name: "__do_global_dtors_aux_fini_array_entry", address: 3ec4, size: 0, kind: Data, section: Section(SectionIndex(15)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
9: Symbol { name: "frame_dummy", address: 1180, size: 0, kind: Text, section: Section(SectionIndex(f)), scope: Compilation, weak: false, flags: Elf { st_info: 2, st_other: 0 } }
10: Symbol { name: "__frame_dummy_init_array_entry", address: 3ec0, size: 0, kind: Data, section: Section(SectionIndex(14)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
11: Symbol { name: "base.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
12: Symbol { name: "crtstuff.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
13: Symbol { name: "__FRAME_END__", address: 2110, size: 0, kind: Data, section: Section(SectionIndex(13)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
14: Symbol { name: "", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
15: Symbol { name: "_DYNAMIC", address: 3ec8, size: 0, kind: Data, section: Section(SectionIndex(16)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
16: Symbol { name: "__GNU_EH_FRAME_HDR", address: 2018, size: 0, kind: Unknown, section: Section(SectionIndex(12)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
17: Symbol { name: "_GLOBAL_OFFSET_TABLE_", address: 3fd8, size: 0, kind: Data, section: Section(SectionIndex(17)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
18: Symbol { name: "__libc_start_main@GLIBC_2.34", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
19: Symbol { name: "_ITM_deregisterTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
20: Symbol { name: "__x86.get_pc_thunk.bx", address: 1090, size: 4, kind: Text, section: Section(SectionIndex(f)), scope: Linkage, weak: false, flags: Elf { st_info: 12, st_other: 2 } }
21: Symbol { name: "data_start", address: 4000, size: 0, kind: Unknown, section: Section(SectionIndex(18)), scope: Dynamic, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
22: Symbol { name: "printf@GLIBC_2.0", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
23: Symbol { name: "_edata", address: 4008, size: 0, kind: Unknown, section: Section(SectionIndex(18)), scope: Dynamic, weak: false, flags: Elf { st_info: 10, st_other: 0 } }
24: Symbol { name: "_fini", address: 11d4, size: 0, kind: Text, section: Section(SectionIndex(10)), scope: Linkage, weak: false, flags: Elf { st_info: 12, st_other: 2 } }
25: Symbol { name: "__x86.get_pc_thunk.dx", address: 1189, size: 0, kind: Text, section: Section(SectionIndex(f)), scope: Linkage, weak: false, flags: Elf { st_info: 12, st_other: 2 } }
26: Symbol { name: "__cxa_finalize@GLIBC_2.1.3", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 22, st_other: 0 } }
27: Symbol { name: "__data_start", address: 4000, size: 0, kind: Unknown, section: Section(SectionIndex(18)), scope: Dynamic, weak: false, flags: Elf { st_info: 10, st_other: 0 } }
28: Symbol { name: "__gmon_start__", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
29: Symbol { name: "__dso_handle", address: 4004, size: 0, kind: Data, section: Section(SectionIndex(18)), scope: Linkage, weak: false, flags: Elf { st_info: 11, st_other: 2 } }
30: Symbol { name: "_IO_stdin_used", address: 2004, size: 4, kind: Data, section: Section(SectionIndex(11)), scope: Dynamic, weak: false, flags: Elf { st_info: 11, st_other: 0 } }
31: Symbol { name: "_end", address: 400c, size: 0, kind: Unknown, section: Section(SectionIndex(19)), scope: Dynamic, weak: false, flags: Elf { st_info: 10, st_other: 0 } }
32: Symbol { name: "_start", address: 1060, size: 2c, kind: Text, section: Section(SectionIndex(f)), scope: Dynamic, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
33: Symbol { name: "_fp_hw", address: 2000, size: 4, kind: Data, section: Section(SectionIndex(11)), scope: Dynamic, weak: false, flags: Elf { st_info: 11, st_other: 0 } }
34: Symbol { name: "__bss_start", address: 4008, size: 0, kind: Unknown, section: Section(SectionIndex(19)), scope: Dynamic, weak: false, flags: Elf { st_info: 10, st_other: 0 } }
35: Symbol { name: "main", address: 118d, size: 40, kind: Text, section: Section(SectionIndex(f)), scope: Dynamic, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
36: Symbol { name: "__x86.get_pc_thunk.ax", address: 11cd, size: 0, kind: Text, section: Section(SectionIndex(f)), scope: Linkage, weak: false, flags: Elf { st_info: 12, st_other: 2 } }
37: Symbol { name: "__TMC_END__", address: 4008, size: 0, kind: Data, section: Section(SectionIndex(18)), scope: Linkage, weak: false, flags: Elf { st_info: 11, st_other: 2 } }
38: Symbol { name: "_ITM_registerTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
39: Symbol { name: "_init", address: 1000, size: 0, kind: Text, section: Section(SectionIndex(c)), scope: Linkage, weak: false, flags: Elf { st_info: 12, st_other: 2 } }
1: Symbol { name: "Scrt1.o", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
2: Symbol { name: "__abi_tag", address: 1cc, size: 20, kind: Data, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
3: Symbol { name: "crtstuff.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
4: Symbol { name: "deregister_tm_clones", address: 10a0, size: 0, kind: Text, section: Section(SectionIndex(f)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FUNC, st_other: STV_DEFAULT } }
5: Symbol { name: "register_tm_clones", address: 10e0, size: 0, kind: Text, section: Section(SectionIndex(f)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FUNC, st_other: STV_DEFAULT } }
6: Symbol { name: "__do_global_dtors_aux", address: 1130, size: 0, kind: Text, section: Section(SectionIndex(f)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FUNC, st_other: STV_DEFAULT } }
7: Symbol { name: "completed.0", address: 4008, size: 1, kind: Data, section: Section(SectionIndex(19)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
8: Symbol { name: "__do_global_dtors_aux_fini_array_entry", address: 3ec4, size: 0, kind: Data, section: Section(SectionIndex(15)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
9: Symbol { name: "frame_dummy", address: 1180, size: 0, kind: Text, section: Section(SectionIndex(f)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FUNC, st_other: STV_DEFAULT } }
10: Symbol { name: "__frame_dummy_init_array_entry", address: 3ec0, size: 0, kind: Data, section: Section(SectionIndex(14)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
11: Symbol { name: "base.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
12: Symbol { name: "crtstuff.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
13: Symbol { name: "__FRAME_END__", address: 2110, size: 0, kind: Data, section: Section(SectionIndex(13)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
14: Symbol { name: "", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
15: Symbol { name: "_DYNAMIC", address: 3ec8, size: 0, kind: Data, section: Section(SectionIndex(16)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
16: Symbol { name: "__GNU_EH_FRAME_HDR", address: 2018, size: 0, kind: Unknown, section: Section(SectionIndex(12)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
17: Symbol { name: "_GLOBAL_OFFSET_TABLE_", address: 3fd8, size: 0, kind: Data, section: Section(SectionIndex(17)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
18: Symbol { name: "__libc_start_main@GLIBC_2.34", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
19: Symbol { name: "_ITM_deregisterTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
20: Symbol { name: "__x86.get_pc_thunk.bx", address: 1090, size: 4, kind: Text, section: Section(SectionIndex(f)), scope: Linkage, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_HIDDEN } }
21: Symbol { name: "data_start", address: 4000, size: 0, kind: Unknown, section: Section(SectionIndex(18)), scope: Dynamic, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
22: Symbol { name: "printf@GLIBC_2.0", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
23: Symbol { name: "_edata", address: 4008, size: 0, kind: Unknown, section: Section(SectionIndex(18)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_NOTYPE, st_other: STV_DEFAULT } }
24: Symbol { name: "_fini", address: 11d4, size: 0, kind: Text, section: Section(SectionIndex(10)), scope: Linkage, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_HIDDEN } }
25: Symbol { name: "__x86.get_pc_thunk.dx", address: 1189, size: 0, kind: Text, section: Section(SectionIndex(f)), scope: Linkage, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_HIDDEN } }
26: Symbol { name: "__cxa_finalize@GLIBC_2.1.3", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_FUNC, st_other: STV_DEFAULT } }
27: Symbol { name: "__data_start", address: 4000, size: 0, kind: Unknown, section: Section(SectionIndex(18)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_NOTYPE, st_other: STV_DEFAULT } }
28: Symbol { name: "__gmon_start__", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
29: Symbol { name: "__dso_handle", address: 4004, size: 0, kind: Data, section: Section(SectionIndex(18)), scope: Linkage, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_OBJECT, st_other: STV_HIDDEN } }
30: Symbol { name: "_IO_stdin_used", address: 2004, size: 4, kind: Data, section: Section(SectionIndex(11)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_OBJECT, st_other: STV_DEFAULT } }
31: Symbol { name: "_end", address: 400c, size: 0, kind: Unknown, section: Section(SectionIndex(19)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_NOTYPE, st_other: STV_DEFAULT } }
32: Symbol { name: "_start", address: 1060, size: 2c, kind: Text, section: Section(SectionIndex(f)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
33: Symbol { name: "_fp_hw", address: 2000, size: 4, kind: Data, section: Section(SectionIndex(11)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_OBJECT, st_other: STV_DEFAULT } }
34: Symbol { name: "__bss_start", address: 4008, size: 0, kind: Unknown, section: Section(SectionIndex(19)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_NOTYPE, st_other: STV_DEFAULT } }
35: Symbol { name: "main", address: 118d, size: 40, kind: Text, section: Section(SectionIndex(f)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
36: Symbol { name: "__x86.get_pc_thunk.ax", address: 11cd, size: 0, kind: Text, section: Section(SectionIndex(f)), scope: Linkage, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_HIDDEN } }
37: Symbol { name: "__TMC_END__", address: 4008, size: 0, kind: Data, section: Section(SectionIndex(18)), scope: Linkage, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_OBJECT, st_other: STV_HIDDEN } }
38: Symbol { name: "_ITM_registerTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
39: Symbol { name: "_init", address: 1000, size: 0, kind: Text, section: Section(SectionIndex(c)), scope: Linkage, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_HIDDEN } }
Dynamic symbols
1: Symbol { name: "__libc_start_main", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
2: Symbol { name: "_ITM_deregisterTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
3: Symbol { name: "printf", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
4: Symbol { name: "__cxa_finalize", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 22, st_other: 0 } }
5: Symbol { name: "__gmon_start__", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
6: Symbol { name: "_ITM_registerTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
7: Symbol { name: "_IO_stdin_used", address: 2004, size: 4, kind: Data, section: Section(SectionIndex(11)), scope: Dynamic, weak: false, flags: Elf { st_info: 11, st_other: 0 } }
1: Symbol { name: "__libc_start_main", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
2: Symbol { name: "_ITM_deregisterTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
3: Symbol { name: "printf", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
4: Symbol { name: "__cxa_finalize", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_FUNC, st_other: STV_DEFAULT } }
5: Symbol { name: "__gmon_start__", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
6: Symbol { name: "_ITM_registerTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
7: Symbol { name: "_IO_stdin_used", address: 2004, size: 4, kind: Data, section: Section(SectionIndex(11)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_OBJECT, st_other: STV_DEFAULT } }
Dynamic relocations
(3fec, Relocation { kind: Unknown, encoding: Unknown, size: 0, target: Symbol(SymbolIndex(2)), addend: 0, implicit_addend: true, flags: Elf { r_type: 6 } })
@@ -181,8 +181,7 @@ ProgramHeader {
}
Dynamic {
Tag: DT_FLAGS (0x1E)
Value: 0x8
DF_BIND_NOW (0x8)
Value: DF_BIND_NOW (0x8)
}
Dynamic {
Tag: DT_FLAGS_1 (0x6FFFFFFB)
@@ -874,8 +873,7 @@ SectionHeader {
}
Dynamic {
Tag: DT_FLAGS (0x1E)
Value: 0x8
DF_BIND_NOW (0x8)
Value: DF_BIND_NOW (0x8)
}
Dynamic {
Tag: DT_FLAGS_1 (0x6FFFFFFB)
@@ -1,7 +1,7 @@
Format: Elf Little-endian 64-bit
Kind: Dynamic
Architecture: X86_64
Flags: Elf { os_abi: 0, abi_version: 0, e_flags: 0 }
Flags: Elf { os_abi: ELFOSABI_SYSV, abi_version: 0, e_flags: 0 }
Relative Address Base: 0
Entry Address: 1060
Build ID: [1f, 9b, 45, 6b, d0, 2a, 5, f3, 6b, 88, 90, ba, b6, bc, fb, 39, e9, 39, cd, 99]
@@ -9,82 +9,82 @@ Segment { address: 0, size: 618, permissions: R-- }
Segment { address: 1000, size: 179, permissions: R-X }
Segment { address: 2000, size: f4, permissions: R-- }
Segment { address: 3d88, size: 290, permissions: RW- }
1: Section { name: ".interp", address: 318, size: 1c, align: 1, kind: ReadOnlyData, flags: Elf { sh_type: 1, sh_flags: 2 } }
2: Section { name: ".note.gnu.property", address: 338, size: 30, align: 8, kind: Note, flags: Elf { sh_type: 7, sh_flags: 2 } }
3: Section { name: ".note.gnu.build-id", address: 368, size: 24, align: 4, kind: Note, flags: Elf { sh_type: 7, sh_flags: 2 } }
4: Section { name: ".note.ABI-tag", address: 38c, size: 20, align: 4, kind: Note, flags: Elf { sh_type: 7, sh_flags: 2 } }
5: Section { name: ".gnu.hash", address: 3b0, size: 24, align: 8, kind: Unknown, flags: Elf { sh_type: 6ffffff6, sh_flags: 2 } }
6: Section { name: ".dynsym", address: 3d8, size: a8, align: 8, kind: Metadata, flags: Elf { sh_type: b, sh_flags: 2 } }
7: Section { name: ".dynstr", address: 480, size: a1, align: 1, kind: Metadata, flags: Elf { sh_type: 3, sh_flags: 2 } }
8: Section { name: ".gnu.version", address: 522, size: e, align: 2, kind: Unknown, flags: Elf { sh_type: 6fffffff, sh_flags: 2 } }
9: Section { name: ".gnu.version_r", address: 530, size: 40, align: 8, kind: Unknown, flags: Elf { sh_type: 6ffffffe, sh_flags: 2 } }
10: Section { name: ".rela.dyn", address: 570, size: 78, align: 8, kind: Metadata, flags: Elf { sh_type: 4, sh_flags: 2 } }
11: Section { name: ".rela.plt", address: 5e8, size: 18, align: 8, kind: Metadata, flags: Elf { sh_type: 4, sh_flags: 42 } }
12: Section { name: ".relr.dyn", address: 600, size: 18, align: 8, kind: Metadata, flags: Elf { sh_type: 13, sh_flags: 2 } }
13: Section { name: ".init", address: 1000, size: 1b, align: 4, kind: Text, flags: Elf { sh_type: 1, sh_flags: 6 } }
14: Section { name: ".plt", address: 1020, size: 20, align: 10, kind: Text, flags: Elf { sh_type: 1, sh_flags: 6 } }
15: Section { name: ".plt.got", address: 1040, size: 10, align: 10, kind: Text, flags: Elf { sh_type: 1, sh_flags: 6 } }
16: Section { name: ".plt.sec", address: 1050, size: 10, align: 10, kind: Text, flags: Elf { sh_type: 1, sh_flags: 6 } }
17: Section { name: ".text", address: 1060, size: 10c, align: 10, kind: Text, flags: Elf { sh_type: 1, sh_flags: 6 } }
18: Section { name: ".fini", address: 116c, size: d, align: 4, kind: Text, flags: Elf { sh_type: 1, sh_flags: 6 } }
19: Section { name: ".rodata", address: 2000, size: 11, align: 4, kind: ReadOnlyData, flags: Elf { sh_type: 1, sh_flags: 2 } }
20: Section { name: ".eh_frame_hdr", address: 2014, size: 34, align: 4, kind: ReadOnlyData, flags: Elf { sh_type: 1, sh_flags: 2 } }
21: Section { name: ".eh_frame", address: 2048, size: ac, align: 8, kind: ReadOnlyData, flags: Elf { sh_type: 1, sh_flags: 2 } }
22: Section { name: ".init_array", address: 3d88, size: 8, align: 8, kind: Unknown, flags: Elf { sh_type: e, sh_flags: 3 } }
23: Section { name: ".fini_array", address: 3d90, size: 8, align: 8, kind: Unknown, flags: Elf { sh_type: f, sh_flags: 3 } }
24: Section { name: ".dynamic", address: 3d98, size: 220, align: 8, kind: Metadata, flags: Elf { sh_type: 6, sh_flags: 3 } }
25: Section { name: ".got", address: 3fb8, size: 48, align: 8, kind: Data, flags: Elf { sh_type: 1, sh_flags: 3 } }
26: Section { name: ".data", address: 4000, size: 10, align: 8, kind: Data, flags: Elf { sh_type: 1, sh_flags: 3 } }
27: Section { name: ".bss", address: 4010, size: 8, align: 1, kind: UninitializedData, flags: Elf { sh_type: 8, sh_flags: 3 } }
28: Section { name: ".comment", address: 0, size: 26, align: 1, kind: OtherString, flags: Elf { sh_type: 1, sh_flags: 30 } }
29: Section { name: ".symtab", address: 0, size: 360, align: 8, kind: Metadata, flags: Elf { sh_type: 2, sh_flags: 0 } }
30: Section { name: ".strtab", address: 0, size: 1dc, align: 1, kind: Metadata, flags: Elf { sh_type: 3, sh_flags: 0 } }
31: Section { name: ".shstrtab", address: 0, size: 124, align: 1, kind: Metadata, flags: Elf { sh_type: 3, sh_flags: 0 } }
1: Section { name: ".interp", address: 318, size: 1c, align: 1, kind: ReadOnlyData, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC } }
2: Section { name: ".note.gnu.property", address: 338, size: 30, align: 8, kind: Note, flags: Elf { sh_type: SHT_NOTE, sh_flags: SHF_ALLOC } }
3: Section { name: ".note.gnu.build-id", address: 368, size: 24, align: 4, kind: Note, flags: Elf { sh_type: SHT_NOTE, sh_flags: SHF_ALLOC } }
4: Section { name: ".note.ABI-tag", address: 38c, size: 20, align: 4, kind: Note, flags: Elf { sh_type: SHT_NOTE, sh_flags: SHF_ALLOC } }
5: Section { name: ".gnu.hash", address: 3b0, size: 24, align: 8, kind: Unknown, flags: Elf { sh_type: SHT_GNU_HASH, sh_flags: SHF_ALLOC } }
6: Section { name: ".dynsym", address: 3d8, size: a8, align: 8, kind: Metadata, flags: Elf { sh_type: SHT_DYNSYM, sh_flags: SHF_ALLOC } }
7: Section { name: ".dynstr", address: 480, size: a1, align: 1, kind: Metadata, flags: Elf { sh_type: SHT_STRTAB, sh_flags: SHF_ALLOC } }
8: Section { name: ".gnu.version", address: 522, size: e, align: 2, kind: Unknown, flags: Elf { sh_type: SHT_GNU_VERSYM, sh_flags: SHF_ALLOC } }
9: Section { name: ".gnu.version_r", address: 530, size: 40, align: 8, kind: Unknown, flags: Elf { sh_type: SHT_GNU_VERNEED, sh_flags: SHF_ALLOC } }
10: Section { name: ".rela.dyn", address: 570, size: 78, align: 8, kind: Metadata, flags: Elf { sh_type: SHT_RELA, sh_flags: SHF_ALLOC } }
11: Section { name: ".rela.plt", address: 5e8, size: 18, align: 8, kind: Metadata, flags: Elf { sh_type: SHT_RELA, sh_flags: SHF_ALLOC | SHF_INFO_LINK } }
12: Section { name: ".relr.dyn", address: 600, size: 18, align: 8, kind: Metadata, flags: Elf { sh_type: SHT_RELR, sh_flags: SHF_ALLOC } }
13: Section { name: ".init", address: 1000, size: 1b, align: 4, kind: Text, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC | SHF_EXECINSTR } }
14: Section { name: ".plt", address: 1020, size: 20, align: 10, kind: Text, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC | SHF_EXECINSTR } }
15: Section { name: ".plt.got", address: 1040, size: 10, align: 10, kind: Text, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC | SHF_EXECINSTR } }
16: Section { name: ".plt.sec", address: 1050, size: 10, align: 10, kind: Text, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC | SHF_EXECINSTR } }
17: Section { name: ".text", address: 1060, size: 10c, align: 10, kind: Text, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC | SHF_EXECINSTR } }
18: Section { name: ".fini", address: 116c, size: d, align: 4, kind: Text, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC | SHF_EXECINSTR } }
19: Section { name: ".rodata", address: 2000, size: 11, align: 4, kind: ReadOnlyData, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC } }
20: Section { name: ".eh_frame_hdr", address: 2014, size: 34, align: 4, kind: ReadOnlyData, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC } }
21: Section { name: ".eh_frame", address: 2048, size: ac, align: 8, kind: ReadOnlyData, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC } }
22: Section { name: ".init_array", address: 3d88, size: 8, align: 8, kind: Unknown, flags: Elf { sh_type: SHT_INIT_ARRAY, sh_flags: SHF_WRITE | SHF_ALLOC } }
23: Section { name: ".fini_array", address: 3d90, size: 8, align: 8, kind: Unknown, flags: Elf { sh_type: SHT_FINI_ARRAY, sh_flags: SHF_WRITE | SHF_ALLOC } }
24: Section { name: ".dynamic", address: 3d98, size: 220, align: 8, kind: Metadata, flags: Elf { sh_type: SHT_DYNAMIC, sh_flags: SHF_WRITE | SHF_ALLOC } }
25: Section { name: ".got", address: 3fb8, size: 48, align: 8, kind: Data, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_WRITE | SHF_ALLOC } }
26: Section { name: ".data", address: 4000, size: 10, align: 8, kind: Data, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_WRITE | SHF_ALLOC } }
27: Section { name: ".bss", address: 4010, size: 8, align: 1, kind: UninitializedData, flags: Elf { sh_type: SHT_NOBITS, sh_flags: SHF_WRITE | SHF_ALLOC } }
28: Section { name: ".comment", address: 0, size: 26, align: 1, kind: OtherString, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_MERGE | SHF_STRINGS } }
29: Section { name: ".symtab", address: 0, size: 360, align: 8, kind: Metadata, flags: Elf { sh_type: SHT_SYMTAB, sh_flags: 0 } }
30: Section { name: ".strtab", address: 0, size: 1dc, align: 1, kind: Metadata, flags: Elf { sh_type: SHT_STRTAB, sh_flags: 0 } }
31: Section { name: ".shstrtab", address: 0, size: 124, align: 1, kind: Metadata, flags: Elf { sh_type: SHT_STRTAB, sh_flags: 0 } }
Symbols
1: Symbol { name: "Scrt1.o", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
2: Symbol { name: "__abi_tag", address: 38c, size: 20, kind: Data, section: Section(SectionIndex(4)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
3: Symbol { name: "crtstuff.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
4: Symbol { name: "deregister_tm_clones", address: 1090, size: 0, kind: Text, section: Section(SectionIndex(11)), scope: Compilation, weak: false, flags: Elf { st_info: 2, st_other: 0 } }
5: Symbol { name: "register_tm_clones", address: 10c0, size: 0, kind: Text, section: Section(SectionIndex(11)), scope: Compilation, weak: false, flags: Elf { st_info: 2, st_other: 0 } }
6: Symbol { name: "__do_global_dtors_aux", address: 1100, size: 0, kind: Text, section: Section(SectionIndex(11)), scope: Compilation, weak: false, flags: Elf { st_info: 2, st_other: 0 } }
7: Symbol { name: "completed.0", address: 4010, size: 1, kind: Data, section: Section(SectionIndex(1b)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
8: Symbol { name: "__do_global_dtors_aux_fini_array_entry", address: 3d90, size: 0, kind: Data, section: Section(SectionIndex(17)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
9: Symbol { name: "frame_dummy", address: 1140, size: 0, kind: Text, section: Section(SectionIndex(11)), scope: Compilation, weak: false, flags: Elf { st_info: 2, st_other: 0 } }
10: Symbol { name: "__frame_dummy_init_array_entry", address: 3d88, size: 0, kind: Data, section: Section(SectionIndex(16)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
11: Symbol { name: "base.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
12: Symbol { name: "crtstuff.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
13: Symbol { name: "__FRAME_END__", address: 20f0, size: 0, kind: Data, section: Section(SectionIndex(15)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
14: Symbol { name: "", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
15: Symbol { name: "_DYNAMIC", address: 3d98, size: 0, kind: Data, section: Section(SectionIndex(18)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
16: Symbol { name: "__GNU_EH_FRAME_HDR", address: 2014, size: 0, kind: Unknown, section: Section(SectionIndex(14)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
17: Symbol { name: "_GLOBAL_OFFSET_TABLE_", address: 3fb8, size: 0, kind: Data, section: Section(SectionIndex(19)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
18: Symbol { name: "__libc_start_main@GLIBC_2.34", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
19: Symbol { name: "_ITM_deregisterTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
20: Symbol { name: "data_start", address: 4000, size: 0, kind: Unknown, section: Section(SectionIndex(1a)), scope: Dynamic, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
21: Symbol { name: "_edata", address: 4010, size: 0, kind: Unknown, section: Section(SectionIndex(1a)), scope: Dynamic, weak: false, flags: Elf { st_info: 10, st_other: 0 } }
22: Symbol { name: "_fini", address: 116c, size: 0, kind: Text, section: Section(SectionIndex(12)), scope: Linkage, weak: false, flags: Elf { st_info: 12, st_other: 2 } }
23: Symbol { name: "printf@GLIBC_2.2.5", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
24: Symbol { name: "__data_start", address: 4000, size: 0, kind: Unknown, section: Section(SectionIndex(1a)), scope: Dynamic, weak: false, flags: Elf { st_info: 10, st_other: 0 } }
25: Symbol { name: "__gmon_start__", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
26: Symbol { name: "__dso_handle", address: 4008, size: 0, kind: Data, section: Section(SectionIndex(1a)), scope: Linkage, weak: false, flags: Elf { st_info: 11, st_other: 2 } }
27: Symbol { name: "_IO_stdin_used", address: 2000, size: 4, kind: Data, section: Section(SectionIndex(13)), scope: Dynamic, weak: false, flags: Elf { st_info: 11, st_other: 0 } }
28: Symbol { name: "_end", address: 4018, size: 0, kind: Unknown, section: Section(SectionIndex(1b)), scope: Dynamic, weak: false, flags: Elf { st_info: 10, st_other: 0 } }
29: Symbol { name: "_start", address: 1060, size: 26, kind: Text, section: Section(SectionIndex(11)), scope: Dynamic, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
30: Symbol { name: "__bss_start", address: 4010, size: 0, kind: Unknown, section: Section(SectionIndex(1b)), scope: Dynamic, weak: false, flags: Elf { st_info: 10, st_other: 0 } }
31: Symbol { name: "main", address: 1149, size: 23, kind: Text, section: Section(SectionIndex(11)), scope: Dynamic, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
32: Symbol { name: "__TMC_END__", address: 4010, size: 0, kind: Data, section: Section(SectionIndex(1a)), scope: Linkage, weak: false, flags: Elf { st_info: 11, st_other: 2 } }
33: Symbol { name: "_ITM_registerTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
34: Symbol { name: "__cxa_finalize@GLIBC_2.2.5", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 22, st_other: 0 } }
35: Symbol { name: "_init", address: 1000, size: 0, kind: Text, section: Section(SectionIndex(d)), scope: Linkage, weak: false, flags: Elf { st_info: 12, st_other: 2 } }
1: Symbol { name: "Scrt1.o", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
2: Symbol { name: "__abi_tag", address: 38c, size: 20, kind: Data, section: Section(SectionIndex(4)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
3: Symbol { name: "crtstuff.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
4: Symbol { name: "deregister_tm_clones", address: 1090, size: 0, kind: Text, section: Section(SectionIndex(11)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FUNC, st_other: STV_DEFAULT } }
5: Symbol { name: "register_tm_clones", address: 10c0, size: 0, kind: Text, section: Section(SectionIndex(11)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FUNC, st_other: STV_DEFAULT } }
6: Symbol { name: "__do_global_dtors_aux", address: 1100, size: 0, kind: Text, section: Section(SectionIndex(11)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FUNC, st_other: STV_DEFAULT } }
7: Symbol { name: "completed.0", address: 4010, size: 1, kind: Data, section: Section(SectionIndex(1b)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
8: Symbol { name: "__do_global_dtors_aux_fini_array_entry", address: 3d90, size: 0, kind: Data, section: Section(SectionIndex(17)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
9: Symbol { name: "frame_dummy", address: 1140, size: 0, kind: Text, section: Section(SectionIndex(11)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FUNC, st_other: STV_DEFAULT } }
10: Symbol { name: "__frame_dummy_init_array_entry", address: 3d88, size: 0, kind: Data, section: Section(SectionIndex(16)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
11: Symbol { name: "base.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
12: Symbol { name: "crtstuff.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
13: Symbol { name: "__FRAME_END__", address: 20f0, size: 0, kind: Data, section: Section(SectionIndex(15)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
14: Symbol { name: "", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
15: Symbol { name: "_DYNAMIC", address: 3d98, size: 0, kind: Data, section: Section(SectionIndex(18)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
16: Symbol { name: "__GNU_EH_FRAME_HDR", address: 2014, size: 0, kind: Unknown, section: Section(SectionIndex(14)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
17: Symbol { name: "_GLOBAL_OFFSET_TABLE_", address: 3fb8, size: 0, kind: Data, section: Section(SectionIndex(19)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
18: Symbol { name: "__libc_start_main@GLIBC_2.34", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
19: Symbol { name: "_ITM_deregisterTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
20: Symbol { name: "data_start", address: 4000, size: 0, kind: Unknown, section: Section(SectionIndex(1a)), scope: Dynamic, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
21: Symbol { name: "_edata", address: 4010, size: 0, kind: Unknown, section: Section(SectionIndex(1a)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_NOTYPE, st_other: STV_DEFAULT } }
22: Symbol { name: "_fini", address: 116c, size: 0, kind: Text, section: Section(SectionIndex(12)), scope: Linkage, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_HIDDEN } }
23: Symbol { name: "printf@GLIBC_2.2.5", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
24: Symbol { name: "__data_start", address: 4000, size: 0, kind: Unknown, section: Section(SectionIndex(1a)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_NOTYPE, st_other: STV_DEFAULT } }
25: Symbol { name: "__gmon_start__", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
26: Symbol { name: "__dso_handle", address: 4008, size: 0, kind: Data, section: Section(SectionIndex(1a)), scope: Linkage, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_OBJECT, st_other: STV_HIDDEN } }
27: Symbol { name: "_IO_stdin_used", address: 2000, size: 4, kind: Data, section: Section(SectionIndex(13)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_OBJECT, st_other: STV_DEFAULT } }
28: Symbol { name: "_end", address: 4018, size: 0, kind: Unknown, section: Section(SectionIndex(1b)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_NOTYPE, st_other: STV_DEFAULT } }
29: Symbol { name: "_start", address: 1060, size: 26, kind: Text, section: Section(SectionIndex(11)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
30: Symbol { name: "__bss_start", address: 4010, size: 0, kind: Unknown, section: Section(SectionIndex(1b)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_NOTYPE, st_other: STV_DEFAULT } }
31: Symbol { name: "main", address: 1149, size: 23, kind: Text, section: Section(SectionIndex(11)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
32: Symbol { name: "__TMC_END__", address: 4010, size: 0, kind: Data, section: Section(SectionIndex(1a)), scope: Linkage, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_OBJECT, st_other: STV_HIDDEN } }
33: Symbol { name: "_ITM_registerTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
34: Symbol { name: "__cxa_finalize@GLIBC_2.2.5", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_FUNC, st_other: STV_DEFAULT } }
35: Symbol { name: "_init", address: 1000, size: 0, kind: Text, section: Section(SectionIndex(d)), scope: Linkage, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_HIDDEN } }
Dynamic symbols
1: Symbol { name: "__libc_start_main", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
2: Symbol { name: "_ITM_deregisterTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
3: Symbol { name: "printf", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
4: Symbol { name: "__gmon_start__", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
5: Symbol { name: "_ITM_registerTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
6: Symbol { name: "__cxa_finalize", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 22, st_other: 0 } }
1: Symbol { name: "__libc_start_main", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
2: Symbol { name: "_ITM_deregisterTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
3: Symbol { name: "printf", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
4: Symbol { name: "__gmon_start__", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
5: Symbol { name: "_ITM_registerTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
6: Symbol { name: "__cxa_finalize", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_FUNC, st_other: STV_DEFAULT } }
Dynamic relocations
(3fd8, Relocation { kind: Unknown, encoding: Unknown, size: 0, target: Symbol(SymbolIndex(1)), addend: 0, implicit_addend: false, flags: Elf { r_type: 6 } })
@@ -181,8 +181,7 @@ ProgramHeader {
}
Dynamic {
Tag: DT_FLAGS (0x1E)
Value: 0x8
DF_BIND_NOW (0x8)
Value: DF_BIND_NOW (0x8)
}
Dynamic {
Tag: DT_FLAGS_1 (0x6FFFFFFB)
@@ -239,8 +238,7 @@ ProgramHeader {
}
Property {
Type: GNU_PROPERTY_X86_ISA_1_NEEDED (0xC0008002)
Value: 0x1
GNU_PROPERTY_X86_ISA_1_BASELINE (0x1)
Value: GNU_PROPERTY_X86_ISA_1_BASELINE (0x1)
}
}
}
@@ -355,8 +353,7 @@ SectionHeader {
}
Property {
Type: GNU_PROPERTY_X86_ISA_1_NEEDED (0xC0008002)
Value: 0x1
GNU_PROPERTY_X86_ISA_1_BASELINE (0x1)
Value: GNU_PROPERTY_X86_ISA_1_BASELINE (0x1)
}
}
}
@@ -929,8 +926,7 @@ SectionHeader {
}
Dynamic {
Tag: DT_FLAGS (0x1E)
Value: 0x8
DF_BIND_NOW (0x8)
Value: DF_BIND_NOW (0x8)
}
Dynamic {
Tag: DT_FLAGS_1 (0x6FFFFFFB)
@@ -1,7 +1,7 @@
Format: Elf Little-endian 64-bit
Kind: Dynamic
Architecture: X86_64
Flags: Elf { os_abi: 0, abi_version: 0, e_flags: 0 }
Flags: Elf { os_abi: ELFOSABI_SYSV, abi_version: 0, e_flags: 0 }
Relative Address Base: 0
Entry Address: 570
Build ID: [d4, 46, a0, 61, bb, 9a, c2, 7a, b4, 3b, 11, 71, 8f, de, df, 5b, 7f, 3a, f6, f4]
@@ -21,7 +21,7 @@ FileHeader {
ProgramHeaderCount: 9
SectionHeaderEntrySize: 0x40
SectionHeaderCount: 0
SectionHeaderStringTableIndex: 0
SectionHeaderStringTableIndex: SHN_UNDEF (0x0)
}
ProgramHeader {
Type: PT_PHDR (0x6)
@@ -165,8 +165,7 @@ ProgramHeader {
}
Dynamic {
Tag: DT_FLAGS (0x1E)
Value: 0x8
DF_BIND_NOW (0x8)
Value: DF_BIND_NOW (0x8)
}
Dynamic {
Tag: DT_FLAGS_1 (0x6FFFFFFB)
+24 -24
View File
@@ -1,34 +1,34 @@
Format: Elf Little-endian 64-bit
Kind: Relocatable
Architecture: X86_64
Flags: Elf { os_abi: 0, abi_version: 0, e_flags: 0 }
Flags: Elf { os_abi: ELFOSABI_SYSV, abi_version: 0, e_flags: 0 }
Relative Address Base: 0
Entry Address: 0
1: Section { name: ".text", address: 0, size: 1c, align: 1, kind: Text, flags: Elf { sh_type: 1, sh_flags: 6 } }
2: Section { name: ".rela.text", address: 0, size: 30, align: 8, kind: Metadata, flags: Elf { sh_type: 4, sh_flags: 40 } }
3: Section { name: ".data", address: 0, size: 0, align: 1, kind: Data, flags: Elf { sh_type: 1, sh_flags: 3 } }
4: Section { name: ".bss", address: 0, size: 0, align: 1, kind: UninitializedData, flags: Elf { sh_type: 8, sh_flags: 3 } }
5: Section { name: ".rodata", address: 0, size: d, align: 1, kind: ReadOnlyData, flags: Elf { sh_type: 1, sh_flags: 2 } }
6: Section { name: ".comment", address: 0, size: 2a, align: 1, kind: OtherString, flags: Elf { sh_type: 1, sh_flags: 30 } }
7: Section { name: ".note.GNU-stack", address: 0, size: 0, align: 1, kind: Other, flags: Elf { sh_type: 1, sh_flags: 0 } }
8: Section { name: ".eh_frame", address: 0, size: 38, align: 8, kind: ReadOnlyData, flags: Elf { sh_type: 1, sh_flags: 2 } }
9: Section { name: ".rela.eh_frame", address: 0, size: 18, align: 8, kind: Metadata, flags: Elf { sh_type: 4, sh_flags: 40 } }
10: Section { name: ".symtab", address: 0, size: 120, align: 8, kind: Metadata, flags: Elf { sh_type: 2, sh_flags: 0 } }
11: Section { name: ".strtab", address: 0, size: 2a, align: 1, kind: Metadata, flags: Elf { sh_type: 3, sh_flags: 0 } }
12: Section { name: ".shstrtab", address: 0, size: 61, align: 1, kind: Metadata, flags: Elf { sh_type: 3, sh_flags: 0 } }
1: Section { name: ".text", address: 0, size: 1c, align: 1, kind: Text, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC | SHF_EXECINSTR } }
2: Section { name: ".rela.text", address: 0, size: 30, align: 8, kind: Metadata, flags: Elf { sh_type: SHT_RELA, sh_flags: SHF_INFO_LINK } }
3: Section { name: ".data", address: 0, size: 0, align: 1, kind: Data, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_WRITE | SHF_ALLOC } }
4: Section { name: ".bss", address: 0, size: 0, align: 1, kind: UninitializedData, flags: Elf { sh_type: SHT_NOBITS, sh_flags: SHF_WRITE | SHF_ALLOC } }
5: Section { name: ".rodata", address: 0, size: d, align: 1, kind: ReadOnlyData, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC } }
6: Section { name: ".comment", address: 0, size: 2a, align: 1, kind: OtherString, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_MERGE | SHF_STRINGS } }
7: Section { name: ".note.GNU-stack", address: 0, size: 0, align: 1, kind: Other, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: 0 } }
8: Section { name: ".eh_frame", address: 0, size: 38, align: 8, kind: ReadOnlyData, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC } }
9: Section { name: ".rela.eh_frame", address: 0, size: 18, align: 8, kind: Metadata, flags: Elf { sh_type: SHT_RELA, sh_flags: SHF_INFO_LINK } }
10: Section { name: ".symtab", address: 0, size: 120, align: 8, kind: Metadata, flags: Elf { sh_type: SHT_SYMTAB, sh_flags: 0 } }
11: Section { name: ".strtab", address: 0, size: 2a, align: 1, kind: Metadata, flags: Elf { sh_type: SHT_STRTAB, sh_flags: 0 } }
12: Section { name: ".shstrtab", address: 0, size: 61, align: 1, kind: Metadata, flags: Elf { sh_type: SHT_STRTAB, sh_flags: 0 } }
Symbols
1: Symbol { name: "base.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
2: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
3: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
4: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(4)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
5: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(5)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
6: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(7)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
7: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(8)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
8: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
9: Symbol { name: "main", address: 0, size: 1c, kind: Text, section: Section(SectionIndex(1)), scope: Dynamic, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
10: Symbol { name: "_GLOBAL_OFFSET_TABLE_", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: 10, st_other: 0 } }
11: Symbol { name: "printf", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: 10, st_other: 0 } }
1: Symbol { name: "base.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
2: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
3: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
4: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(4)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
5: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(5)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
6: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(7)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
7: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(8)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
8: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
9: Symbol { name: "main", address: 0, size: 1c, kind: Text, section: Section(SectionIndex(1)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
10: Symbol { name: "_GLOBAL_OFFSET_TABLE_", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_NOTYPE, st_other: STV_DEFAULT } }
11: Symbol { name: "printf", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_NOTYPE, st_other: STV_DEFAULT } }
.text relocations
(7, Relocation { kind: Relative, encoding: Generic, size: 20, target: Symbol(SymbolIndex(5)), addend: fffffffffffffffc, implicit_addend: false, flags: Elf { r_type: 2 } })
+99 -99
View File
@@ -1,114 +1,114 @@
Format: Elf Little-endian 64-bit
Kind: Dynamic
Architecture: X86_64
Flags: Elf { os_abi: 0, abi_version: 0, e_flags: 0 }
Flags: Elf { os_abi: ELFOSABI_SYSV, abi_version: 0, e_flags: 0 }
Relative Address Base: 0
Entry Address: 570
Build ID: [d4, 46, a0, 61, bb, 9a, c2, 7a, b4, 3b, 11, 71, 8f, de, df, 5b, 7f, 3a, f6, f4]
Segment { address: 0, size: 878, permissions: R-X }
Segment { address: 200da8, size: 270, permissions: RW- }
1: Section { name: ".interp", address: 238, size: 1c, align: 1, kind: ReadOnlyData, flags: Elf { sh_type: 1, sh_flags: 2 } }
2: Section { name: ".note.ABI-tag", address: 254, size: 20, align: 4, kind: Note, flags: Elf { sh_type: 7, sh_flags: 2 } }
3: Section { name: ".note.gnu.build-id", address: 274, size: 24, align: 4, kind: Note, flags: Elf { sh_type: 7, sh_flags: 2 } }
4: Section { name: ".hash", address: 298, size: 30, align: 8, kind: Metadata, flags: Elf { sh_type: 5, sh_flags: 2 } }
5: Section { name: ".gnu.hash", address: 2c8, size: 1c, align: 8, kind: Unknown, flags: Elf { sh_type: 6ffffff6, sh_flags: 2 } }
6: Section { name: ".dynsym", address: 2e8, size: a8, align: 8, kind: Metadata, flags: Elf { sh_type: b, sh_flags: 2 } }
7: Section { name: ".dynstr", address: 390, size: 84, align: 1, kind: Metadata, flags: Elf { sh_type: 3, sh_flags: 2 } }
8: Section { name: ".gnu.version", address: 414, size: e, align: 2, kind: Unknown, flags: Elf { sh_type: 6fffffff, sh_flags: 2 } }
9: Section { name: ".gnu.version_r", address: 428, size: 20, align: 8, kind: Unknown, flags: Elf { sh_type: 6ffffffe, sh_flags: 2 } }
10: Section { name: ".rela.dyn", address: 448, size: c0, align: 8, kind: Metadata, flags: Elf { sh_type: 4, sh_flags: 2 } }
11: Section { name: ".rela.plt", address: 508, size: 18, align: 8, kind: Metadata, flags: Elf { sh_type: 4, sh_flags: 42 } }
12: Section { name: ".init", address: 520, size: 17, align: 4, kind: Text, flags: Elf { sh_type: 1, sh_flags: 6 } }
13: Section { name: ".plt", address: 540, size: 20, align: 10, kind: Text, flags: Elf { sh_type: 1, sh_flags: 6 } }
14: Section { name: ".plt.got", address: 560, size: 8, align: 8, kind: Text, flags: Elf { sh_type: 1, sh_flags: 6 } }
15: Section { name: ".text", address: 570, size: 1a2, align: 10, kind: Text, flags: Elf { sh_type: 1, sh_flags: 6 } }
16: Section { name: ".fini", address: 714, size: 9, align: 4, kind: Text, flags: Elf { sh_type: 1, sh_flags: 6 } }
17: Section { name: ".rodata", address: 720, size: 11, align: 4, kind: ReadOnlyData, flags: Elf { sh_type: 1, sh_flags: 2 } }
18: Section { name: ".eh_frame_hdr", address: 734, size: 3c, align: 4, kind: ReadOnlyData, flags: Elf { sh_type: 1, sh_flags: 2 } }
19: Section { name: ".eh_frame", address: 770, size: 108, align: 8, kind: ReadOnlyData, flags: Elf { sh_type: 1, sh_flags: 2 } }
20: Section { name: ".init_array", address: 200da8, size: 8, align: 8, kind: Unknown, flags: Elf { sh_type: e, sh_flags: 3 } }
21: Section { name: ".fini_array", address: 200db0, size: 8, align: 8, kind: Unknown, flags: Elf { sh_type: f, sh_flags: 3 } }
22: Section { name: ".dynamic", address: 200db8, size: 200, align: 8, kind: Metadata, flags: Elf { sh_type: 6, sh_flags: 3 } }
23: Section { name: ".got", address: 200fb8, size: 48, align: 8, kind: Data, flags: Elf { sh_type: 1, sh_flags: 3 } }
24: Section { name: ".data", address: 201000, size: 10, align: 8, kind: Data, flags: Elf { sh_type: 1, sh_flags: 3 } }
25: Section { name: ".bss", address: 201010, size: 8, align: 1, kind: UninitializedData, flags: Elf { sh_type: 8, sh_flags: 3 } }
26: Section { name: ".comment", address: 0, size: 29, align: 1, kind: OtherString, flags: Elf { sh_type: 1, sh_flags: 30 } }
27: Section { name: ".symtab", address: 0, size: 600, align: 8, kind: Metadata, flags: Elf { sh_type: 2, sh_flags: 0 } }
28: Section { name: ".strtab", address: 0, size: 204, align: 1, kind: Metadata, flags: Elf { sh_type: 3, sh_flags: 0 } }
29: Section { name: ".shstrtab", address: 0, size: fe, align: 1, kind: Metadata, flags: Elf { sh_type: 3, sh_flags: 0 } }
1: Section { name: ".interp", address: 238, size: 1c, align: 1, kind: ReadOnlyData, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC } }
2: Section { name: ".note.ABI-tag", address: 254, size: 20, align: 4, kind: Note, flags: Elf { sh_type: SHT_NOTE, sh_flags: SHF_ALLOC } }
3: Section { name: ".note.gnu.build-id", address: 274, size: 24, align: 4, kind: Note, flags: Elf { sh_type: SHT_NOTE, sh_flags: SHF_ALLOC } }
4: Section { name: ".hash", address: 298, size: 30, align: 8, kind: Metadata, flags: Elf { sh_type: SHT_HASH, sh_flags: SHF_ALLOC } }
5: Section { name: ".gnu.hash", address: 2c8, size: 1c, align: 8, kind: Unknown, flags: Elf { sh_type: SHT_GNU_HASH, sh_flags: SHF_ALLOC } }
6: Section { name: ".dynsym", address: 2e8, size: a8, align: 8, kind: Metadata, flags: Elf { sh_type: SHT_DYNSYM, sh_flags: SHF_ALLOC } }
7: Section { name: ".dynstr", address: 390, size: 84, align: 1, kind: Metadata, flags: Elf { sh_type: SHT_STRTAB, sh_flags: SHF_ALLOC } }
8: Section { name: ".gnu.version", address: 414, size: e, align: 2, kind: Unknown, flags: Elf { sh_type: SHT_GNU_VERSYM, sh_flags: SHF_ALLOC } }
9: Section { name: ".gnu.version_r", address: 428, size: 20, align: 8, kind: Unknown, flags: Elf { sh_type: SHT_GNU_VERNEED, sh_flags: SHF_ALLOC } }
10: Section { name: ".rela.dyn", address: 448, size: c0, align: 8, kind: Metadata, flags: Elf { sh_type: SHT_RELA, sh_flags: SHF_ALLOC } }
11: Section { name: ".rela.plt", address: 508, size: 18, align: 8, kind: Metadata, flags: Elf { sh_type: SHT_RELA, sh_flags: SHF_ALLOC | SHF_INFO_LINK } }
12: Section { name: ".init", address: 520, size: 17, align: 4, kind: Text, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC | SHF_EXECINSTR } }
13: Section { name: ".plt", address: 540, size: 20, align: 10, kind: Text, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC | SHF_EXECINSTR } }
14: Section { name: ".plt.got", address: 560, size: 8, align: 8, kind: Text, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC | SHF_EXECINSTR } }
15: Section { name: ".text", address: 570, size: 1a2, align: 10, kind: Text, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC | SHF_EXECINSTR } }
16: Section { name: ".fini", address: 714, size: 9, align: 4, kind: Text, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC | SHF_EXECINSTR } }
17: Section { name: ".rodata", address: 720, size: 11, align: 4, kind: ReadOnlyData, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC } }
18: Section { name: ".eh_frame_hdr", address: 734, size: 3c, align: 4, kind: ReadOnlyData, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC } }
19: Section { name: ".eh_frame", address: 770, size: 108, align: 8, kind: ReadOnlyData, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_ALLOC } }
20: Section { name: ".init_array", address: 200da8, size: 8, align: 8, kind: Unknown, flags: Elf { sh_type: SHT_INIT_ARRAY, sh_flags: SHF_WRITE | SHF_ALLOC } }
21: Section { name: ".fini_array", address: 200db0, size: 8, align: 8, kind: Unknown, flags: Elf { sh_type: SHT_FINI_ARRAY, sh_flags: SHF_WRITE | SHF_ALLOC } }
22: Section { name: ".dynamic", address: 200db8, size: 200, align: 8, kind: Metadata, flags: Elf { sh_type: SHT_DYNAMIC, sh_flags: SHF_WRITE | SHF_ALLOC } }
23: Section { name: ".got", address: 200fb8, size: 48, align: 8, kind: Data, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_WRITE | SHF_ALLOC } }
24: Section { name: ".data", address: 201000, size: 10, align: 8, kind: Data, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_WRITE | SHF_ALLOC } }
25: Section { name: ".bss", address: 201010, size: 8, align: 1, kind: UninitializedData, flags: Elf { sh_type: SHT_NOBITS, sh_flags: SHF_WRITE | SHF_ALLOC } }
26: Section { name: ".comment", address: 0, size: 29, align: 1, kind: OtherString, flags: Elf { sh_type: SHT_PROGBITS, sh_flags: SHF_MERGE | SHF_STRINGS } }
27: Section { name: ".symtab", address: 0, size: 600, align: 8, kind: Metadata, flags: Elf { sh_type: SHT_SYMTAB, sh_flags: 0 } }
28: Section { name: ".strtab", address: 0, size: 204, align: 1, kind: Metadata, flags: Elf { sh_type: SHT_STRTAB, sh_flags: 0 } }
29: Section { name: ".shstrtab", address: 0, size: fe, align: 1, kind: Metadata, flags: Elf { sh_type: SHT_STRTAB, sh_flags: 0 } }
Symbols
1: Symbol { name: "", address: 238, size: 0, kind: Section, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
2: Symbol { name: "", address: 254, size: 0, kind: Section, section: Section(SectionIndex(2)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
3: Symbol { name: "", address: 274, size: 0, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
4: Symbol { name: "", address: 298, size: 0, kind: Section, section: Section(SectionIndex(4)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
5: Symbol { name: "", address: 2c8, size: 0, kind: Section, section: Section(SectionIndex(5)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
6: Symbol { name: "", address: 2e8, size: 0, kind: Section, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
7: Symbol { name: "", address: 390, size: 0, kind: Section, section: Section(SectionIndex(7)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
8: Symbol { name: "", address: 414, size: 0, kind: Section, section: Section(SectionIndex(8)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
9: Symbol { name: "", address: 428, size: 0, kind: Section, section: Section(SectionIndex(9)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
10: Symbol { name: "", address: 448, size: 0, kind: Section, section: Section(SectionIndex(a)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
11: Symbol { name: "", address: 508, size: 0, kind: Section, section: Section(SectionIndex(b)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
12: Symbol { name: "", address: 520, size: 0, kind: Section, section: Section(SectionIndex(c)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
13: Symbol { name: "", address: 540, size: 0, kind: Section, section: Section(SectionIndex(d)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
14: Symbol { name: "", address: 560, size: 0, kind: Section, section: Section(SectionIndex(e)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
15: Symbol { name: "", address: 570, size: 0, kind: Section, section: Section(SectionIndex(f)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
16: Symbol { name: "", address: 714, size: 0, kind: Section, section: Section(SectionIndex(10)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
17: Symbol { name: "", address: 720, size: 0, kind: Section, section: Section(SectionIndex(11)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
18: Symbol { name: "", address: 734, size: 0, kind: Section, section: Section(SectionIndex(12)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
19: Symbol { name: "", address: 770, size: 0, kind: Section, section: Section(SectionIndex(13)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
20: Symbol { name: "", address: 200da8, size: 0, kind: Section, section: Section(SectionIndex(14)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
21: Symbol { name: "", address: 200db0, size: 0, kind: Section, section: Section(SectionIndex(15)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
22: Symbol { name: "", address: 200db8, size: 0, kind: Section, section: Section(SectionIndex(16)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
23: Symbol { name: "", address: 200fb8, size: 0, kind: Section, section: Section(SectionIndex(17)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
24: Symbol { name: "", address: 201000, size: 0, kind: Section, section: Section(SectionIndex(18)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
25: Symbol { name: "", address: 201010, size: 0, kind: Section, section: Section(SectionIndex(19)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
26: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(1a)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
27: Symbol { name: "crtstuff.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
28: Symbol { name: "deregister_tm_clones", address: 5a0, size: 0, kind: Text, section: Section(SectionIndex(f)), scope: Compilation, weak: false, flags: Elf { st_info: 2, st_other: 0 } }
29: Symbol { name: "register_tm_clones", address: 5e0, size: 0, kind: Text, section: Section(SectionIndex(f)), scope: Compilation, weak: false, flags: Elf { st_info: 2, st_other: 0 } }
30: Symbol { name: "__do_global_dtors_aux", address: 630, size: 0, kind: Text, section: Section(SectionIndex(f)), scope: Compilation, weak: false, flags: Elf { st_info: 2, st_other: 0 } }
31: Symbol { name: "completed.7698", address: 201010, size: 1, kind: Data, section: Section(SectionIndex(19)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
32: Symbol { name: "__do_global_dtors_aux_fini_array_entry", address: 200db0, size: 0, kind: Data, section: Section(SectionIndex(15)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
33: Symbol { name: "frame_dummy", address: 670, size: 0, kind: Text, section: Section(SectionIndex(f)), scope: Compilation, weak: false, flags: Elf { st_info: 2, st_other: 0 } }
34: Symbol { name: "__frame_dummy_init_array_entry", address: 200da8, size: 0, kind: Data, section: Section(SectionIndex(14)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
35: Symbol { name: "base.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
36: Symbol { name: "crtstuff.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
37: Symbol { name: "__FRAME_END__", address: 874, size: 0, kind: Data, section: Section(SectionIndex(13)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
38: Symbol { name: "", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: 4, st_other: 0 } }
39: Symbol { name: "__init_array_end", address: 200db0, size: 0, kind: Unknown, section: Section(SectionIndex(14)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
40: Symbol { name: "_DYNAMIC", address: 200db8, size: 0, kind: Data, section: Section(SectionIndex(16)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
41: Symbol { name: "__init_array_start", address: 200da8, size: 0, kind: Unknown, section: Section(SectionIndex(14)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
42: Symbol { name: "__GNU_EH_FRAME_HDR", address: 734, size: 0, kind: Unknown, section: Section(SectionIndex(12)), scope: Compilation, weak: false, flags: Elf { st_info: 0, st_other: 0 } }
43: Symbol { name: "_GLOBAL_OFFSET_TABLE_", address: 200fb8, size: 0, kind: Data, section: Section(SectionIndex(17)), scope: Compilation, weak: false, flags: Elf { st_info: 1, st_other: 0 } }
44: Symbol { name: "__libc_csu_fini", address: 710, size: 2, kind: Text, section: Section(SectionIndex(f)), scope: Dynamic, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
45: Symbol { name: "_ITM_deregisterTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
46: Symbol { name: "data_start", address: 201000, size: 0, kind: Unknown, section: Section(SectionIndex(18)), scope: Dynamic, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
47: Symbol { name: "_edata", address: 201010, size: 0, kind: Unknown, section: Section(SectionIndex(18)), scope: Dynamic, weak: false, flags: Elf { st_info: 10, st_other: 0 } }
48: Symbol { name: "_fini", address: 714, size: 0, kind: Text, section: Section(SectionIndex(10)), scope: Dynamic, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
49: Symbol { name: "printf@@GLIBC_2.2.5", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
50: Symbol { name: "__libc_start_main@@GLIBC_2.2.5", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
51: Symbol { name: "__data_start", address: 201000, size: 0, kind: Unknown, section: Section(SectionIndex(18)), scope: Dynamic, weak: false, flags: Elf { st_info: 10, st_other: 0 } }
52: Symbol { name: "__gmon_start__", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
53: Symbol { name: "__dso_handle", address: 201008, size: 0, kind: Data, section: Section(SectionIndex(18)), scope: Linkage, weak: false, flags: Elf { st_info: 11, st_other: 2 } }
54: Symbol { name: "_IO_stdin_used", address: 720, size: 4, kind: Data, section: Section(SectionIndex(11)), scope: Dynamic, weak: false, flags: Elf { st_info: 11, st_other: 0 } }
55: Symbol { name: "__libc_csu_init", address: 6a0, size: 65, kind: Text, section: Section(SectionIndex(f)), scope: Dynamic, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
56: Symbol { name: "_end", address: 201018, size: 0, kind: Unknown, section: Section(SectionIndex(19)), scope: Dynamic, weak: false, flags: Elf { st_info: 10, st_other: 0 } }
57: Symbol { name: "_start", address: 570, size: 2b, kind: Text, section: Section(SectionIndex(f)), scope: Dynamic, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
58: Symbol { name: "__bss_start", address: 201010, size: 0, kind: Unknown, section: Section(SectionIndex(19)), scope: Dynamic, weak: false, flags: Elf { st_info: 10, st_other: 0 } }
59: Symbol { name: "main", address: 67a, size: 1c, kind: Text, section: Section(SectionIndex(f)), scope: Dynamic, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
60: Symbol { name: "__TMC_END__", address: 201010, size: 0, kind: Data, section: Section(SectionIndex(18)), scope: Linkage, weak: false, flags: Elf { st_info: 11, st_other: 2 } }
61: Symbol { name: "_ITM_registerTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
62: Symbol { name: "__cxa_finalize@@GLIBC_2.2.5", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 22, st_other: 0 } }
63: Symbol { name: "_init", address: 520, size: 0, kind: Text, section: Section(SectionIndex(c)), scope: Dynamic, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
1: Symbol { name: "", address: 238, size: 0, kind: Section, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
2: Symbol { name: "", address: 254, size: 0, kind: Section, section: Section(SectionIndex(2)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
3: Symbol { name: "", address: 274, size: 0, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
4: Symbol { name: "", address: 298, size: 0, kind: Section, section: Section(SectionIndex(4)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
5: Symbol { name: "", address: 2c8, size: 0, kind: Section, section: Section(SectionIndex(5)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
6: Symbol { name: "", address: 2e8, size: 0, kind: Section, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
7: Symbol { name: "", address: 390, size: 0, kind: Section, section: Section(SectionIndex(7)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
8: Symbol { name: "", address: 414, size: 0, kind: Section, section: Section(SectionIndex(8)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
9: Symbol { name: "", address: 428, size: 0, kind: Section, section: Section(SectionIndex(9)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
10: Symbol { name: "", address: 448, size: 0, kind: Section, section: Section(SectionIndex(a)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
11: Symbol { name: "", address: 508, size: 0, kind: Section, section: Section(SectionIndex(b)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
12: Symbol { name: "", address: 520, size: 0, kind: Section, section: Section(SectionIndex(c)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
13: Symbol { name: "", address: 540, size: 0, kind: Section, section: Section(SectionIndex(d)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
14: Symbol { name: "", address: 560, size: 0, kind: Section, section: Section(SectionIndex(e)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
15: Symbol { name: "", address: 570, size: 0, kind: Section, section: Section(SectionIndex(f)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
16: Symbol { name: "", address: 714, size: 0, kind: Section, section: Section(SectionIndex(10)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
17: Symbol { name: "", address: 720, size: 0, kind: Section, section: Section(SectionIndex(11)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
18: Symbol { name: "", address: 734, size: 0, kind: Section, section: Section(SectionIndex(12)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
19: Symbol { name: "", address: 770, size: 0, kind: Section, section: Section(SectionIndex(13)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
20: Symbol { name: "", address: 200da8, size: 0, kind: Section, section: Section(SectionIndex(14)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
21: Symbol { name: "", address: 200db0, size: 0, kind: Section, section: Section(SectionIndex(15)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
22: Symbol { name: "", address: 200db8, size: 0, kind: Section, section: Section(SectionIndex(16)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
23: Symbol { name: "", address: 200fb8, size: 0, kind: Section, section: Section(SectionIndex(17)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
24: Symbol { name: "", address: 201000, size: 0, kind: Section, section: Section(SectionIndex(18)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
25: Symbol { name: "", address: 201010, size: 0, kind: Section, section: Section(SectionIndex(19)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
26: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(1a)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
27: Symbol { name: "crtstuff.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
28: Symbol { name: "deregister_tm_clones", address: 5a0, size: 0, kind: Text, section: Section(SectionIndex(f)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FUNC, st_other: STV_DEFAULT } }
29: Symbol { name: "register_tm_clones", address: 5e0, size: 0, kind: Text, section: Section(SectionIndex(f)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FUNC, st_other: STV_DEFAULT } }
30: Symbol { name: "__do_global_dtors_aux", address: 630, size: 0, kind: Text, section: Section(SectionIndex(f)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FUNC, st_other: STV_DEFAULT } }
31: Symbol { name: "completed.7698", address: 201010, size: 1, kind: Data, section: Section(SectionIndex(19)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
32: Symbol { name: "__do_global_dtors_aux_fini_array_entry", address: 200db0, size: 0, kind: Data, section: Section(SectionIndex(15)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
33: Symbol { name: "frame_dummy", address: 670, size: 0, kind: Text, section: Section(SectionIndex(f)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FUNC, st_other: STV_DEFAULT } }
34: Symbol { name: "__frame_dummy_init_array_entry", address: 200da8, size: 0, kind: Data, section: Section(SectionIndex(14)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
35: Symbol { name: "base.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
36: Symbol { name: "crtstuff.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
37: Symbol { name: "__FRAME_END__", address: 874, size: 0, kind: Data, section: Section(SectionIndex(13)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
38: Symbol { name: "", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_FILE, st_other: STV_DEFAULT } }
39: Symbol { name: "__init_array_end", address: 200db0, size: 0, kind: Unknown, section: Section(SectionIndex(14)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
40: Symbol { name: "_DYNAMIC", address: 200db8, size: 0, kind: Data, section: Section(SectionIndex(16)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
41: Symbol { name: "__init_array_start", address: 200da8, size: 0, kind: Unknown, section: Section(SectionIndex(14)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
42: Symbol { name: "__GNU_EH_FRAME_HDR", address: 734, size: 0, kind: Unknown, section: Section(SectionIndex(12)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_NOTYPE, st_other: STV_DEFAULT } }
43: Symbol { name: "_GLOBAL_OFFSET_TABLE_", address: 200fb8, size: 0, kind: Data, section: Section(SectionIndex(17)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_OBJECT, st_other: STV_DEFAULT } }
44: Symbol { name: "__libc_csu_fini", address: 710, size: 2, kind: Text, section: Section(SectionIndex(f)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
45: Symbol { name: "_ITM_deregisterTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
46: Symbol { name: "data_start", address: 201000, size: 0, kind: Unknown, section: Section(SectionIndex(18)), scope: Dynamic, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
47: Symbol { name: "_edata", address: 201010, size: 0, kind: Unknown, section: Section(SectionIndex(18)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_NOTYPE, st_other: STV_DEFAULT } }
48: Symbol { name: "_fini", address: 714, size: 0, kind: Text, section: Section(SectionIndex(10)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
49: Symbol { name: "printf@@GLIBC_2.2.5", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
50: Symbol { name: "__libc_start_main@@GLIBC_2.2.5", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
51: Symbol { name: "__data_start", address: 201000, size: 0, kind: Unknown, section: Section(SectionIndex(18)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_NOTYPE, st_other: STV_DEFAULT } }
52: Symbol { name: "__gmon_start__", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
53: Symbol { name: "__dso_handle", address: 201008, size: 0, kind: Data, section: Section(SectionIndex(18)), scope: Linkage, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_OBJECT, st_other: STV_HIDDEN } }
54: Symbol { name: "_IO_stdin_used", address: 720, size: 4, kind: Data, section: Section(SectionIndex(11)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_OBJECT, st_other: STV_DEFAULT } }
55: Symbol { name: "__libc_csu_init", address: 6a0, size: 65, kind: Text, section: Section(SectionIndex(f)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
56: Symbol { name: "_end", address: 201018, size: 0, kind: Unknown, section: Section(SectionIndex(19)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_NOTYPE, st_other: STV_DEFAULT } }
57: Symbol { name: "_start", address: 570, size: 2b, kind: Text, section: Section(SectionIndex(f)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
58: Symbol { name: "__bss_start", address: 201010, size: 0, kind: Unknown, section: Section(SectionIndex(19)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_NOTYPE, st_other: STV_DEFAULT } }
59: Symbol { name: "main", address: 67a, size: 1c, kind: Text, section: Section(SectionIndex(f)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
60: Symbol { name: "__TMC_END__", address: 201010, size: 0, kind: Data, section: Section(SectionIndex(18)), scope: Linkage, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_OBJECT, st_other: STV_HIDDEN } }
61: Symbol { name: "_ITM_registerTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
62: Symbol { name: "__cxa_finalize@@GLIBC_2.2.5", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_FUNC, st_other: STV_DEFAULT } }
63: Symbol { name: "_init", address: 520, size: 0, kind: Text, section: Section(SectionIndex(c)), scope: Dynamic, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
Dynamic symbols
1: Symbol { name: "_ITM_deregisterTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
2: Symbol { name: "printf", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
3: Symbol { name: "__libc_start_main", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: 12, st_other: 0 } }
4: Symbol { name: "__gmon_start__", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
5: Symbol { name: "_ITM_registerTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 20, st_other: 0 } }
6: Symbol { name: "__cxa_finalize", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: 22, st_other: 0 } }
1: Symbol { name: "_ITM_deregisterTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
2: Symbol { name: "printf", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
3: Symbol { name: "__libc_start_main", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: false, flags: Elf { st_info: STB_GLOBAL | STT_FUNC, st_other: STV_DEFAULT } }
4: Symbol { name: "__gmon_start__", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
5: Symbol { name: "_ITM_registerTMCloneTable", address: 0, size: 0, kind: Unknown, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_NOTYPE, st_other: STV_DEFAULT } }
6: Symbol { name: "__cxa_finalize", address: 0, size: 0, kind: Text, section: Undefined, scope: Unknown, weak: true, flags: Elf { st_info: STB_WEAK | STT_FUNC, st_other: STV_DEFAULT } }
Dynamic relocations
(200da8, Relocation { kind: Unknown, encoding: Unknown, size: 0, target: Absolute, addend: 670, implicit_addend: false, flags: Elf { r_type: 8 } })
+2 -4
View File
@@ -165,8 +165,7 @@ ProgramHeader {
}
Dynamic {
Tag: DT_FLAGS (0x1E)
Value: 0x8
DF_BIND_NOW (0x8)
Value: DF_BIND_NOW (0x8)
}
Dynamic {
Tag: DT_FLAGS_1 (0x6FFFFFFB)
@@ -836,8 +835,7 @@ SectionHeader {
}
Dynamic {
Tag: DT_FLAGS (0x1E)
Value: 0x8
DF_BIND_NOW (0x8)
Value: DF_BIND_NOW (0x8)
}
Dynamic {
Tag: DT_FLAGS_1 (0x6FFFFFFB)
@@ -1,10 +1,10 @@
65530: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(fff9)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
65531: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(fffa)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
65532: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(fffb)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
65533: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(fffc)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
65534: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(fffd)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
65535: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(fffe)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
65536: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(ffff)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
65537: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(10000)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
65538: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(10001)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
65539: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(10002)), scope: Compilation, weak: false, flags: Elf { st_info: 3, st_other: 0 } }
65530: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(fff9)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
65531: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(fffa)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
65532: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(fffb)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
65533: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(fffc)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
65534: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(fffd)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
65535: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(fffe)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
65536: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(ffff)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
65537: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(10000)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
65538: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(10001)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
65539: Symbol { name: "", address: 0, size: 0, kind: Section, section: Section(SectionIndex(10002)), scope: Compilation, weak: false, flags: Elf { st_info: STB_LOCAL | STT_SECTION, st_other: STV_DEFAULT } }
+1 -1
View File
@@ -818,7 +818,7 @@ fn find_move_sections(
move_sections.push(section.id());
continue;
}
if section.sh_type == elf::SHT_NOBITS && section.sh_flags & u64::from(elf::SHF_TLS) != 0 {
if section.sh_type == elf::SHT_NOBITS && section.sh_flags.contains(elf::SHF_TLS) {
// Uninitialized TLS sections are not part of the address space.
continue;
}
@@ -181,8 +181,7 @@ ProgramHeader {
}
Dynamic {
Tag: DT_FLAGS_1 (0x6FFFFFFB)
Value: 0x8000000
DF_1_PIE (0x8000000)
Value: DF_1_PIE (0x8000000)
}
Dynamic {
Tag: DT_DEBUG (0x15)
@@ -655,8 +654,7 @@ SectionHeader {
}
Dynamic {
Tag: DT_FLAGS_1 (0x6FFFFFFB)
Value: 0x8000000
DF_1_PIE (0x8000000)
Value: DF_1_PIE (0x8000000)
}
Dynamic {
Tag: DT_DEBUG (0x15)
@@ -181,8 +181,7 @@ ProgramHeader {
}
Dynamic {
Tag: DT_FLAGS (0x1E)
Value: 0x8
DF_BIND_NOW (0x8)
Value: DF_BIND_NOW (0x8)
}
Dynamic {
Tag: DT_FLAGS_1 (0x6FFFFFFB)
@@ -874,8 +873,7 @@ SectionHeader {
}
Dynamic {
Tag: DT_FLAGS (0x1E)
Value: 0x8
DF_BIND_NOW (0x8)
Value: DF_BIND_NOW (0x8)
}
Dynamic {
Tag: DT_FLAGS_1 (0x6FFFFFFB)

Some files were not shown because too many files have changed in this diff Show More