count.c:
#include<stdio.h>
int count=100;
void set(int v){
count = v;
}
void get(){
printf("count:%d\n", count);
printf("count:%p\n", &count);
}
aarch64-linux-gnu-gcc -o libcount.so count.c -shared -fPIC
aarch64-linux-gnu-readelf -a libcount.so > elf.txt
size libcount.so
text data bss dec hex filename
1571 588 4 2163 873 libcount.so
elf.txt:
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Shared object file)
Machine: AArch64
Version: 0x1
Entry point address: 0x590
Start of program headers: 64 (bytes into file)
Start of section headers: 7800 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 7
Size of section headers: 64 (bytes)
Number of section headers: 34
Section header string table index: 33
Section Headers:
[Nr] Name Type Address Offset
Size EntSize Flags Link Info Align
[ 0] NULL 0000000000000000 00000000
0000000000000000 0000000000000000 0 0 0
[ 1] .note.gnu.bu[...] NOTE 00000000000001c8 000001c8
0000000000000024 0000000000000000 A 0 0 4
[ 2] .hash HASH 00000000000001f0 000001f0
0000000000000040 0000000000000004 A 4 0 8
[ 3] .gnu.hash GNU_HASH 0000000000000230 00000230
0000000000000030 0000000000000000 A 4 0 8
[ 4] .dynsym DYNSYM 0000000000000260 00000260
0000000000000108 0000000000000018 A 5 3 8
[ 5] .dynstr STRTAB 0000000000000368 00000368
000000000000007f 0000000000000000 A 0 0 1
[ 6] .gnu.version VERSYM 00000000000003e8 000003e8
0000000000000016 0000000000000002 A 4 0 2
[ 7] .gnu.version_r VERNEED 0000000000000400 00000400
0000000000000020 0000000000000000 A 5 1 8
[ 8] .rela.dyn RELA 0000000000000420 00000420
00000000000000c0 0000000000000018 A 4 0 8
[ 9] .rela.plt RELA 00000000000004e0 000004e0
0000000000000048 0000000000000018 AI 4 21 8
[10] .init PROGBITS 0000000000000528 00000528
0000000000000014 0000000000000000 AX 0 0 4
[11] .plt PROGBITS 0000000000000540 00000540
0000000000000050 0000000000000010 AX 0 0 16
[12] .text PROGBITS 0000000000000590 00000590
000000000000014c 0000000000000000 AX 0 0 16
[13] .fini PROGBITS 00000000000006dc 000006dc
0000000000000010 0000000000000000 AX 0 0 4
[14] .rodata PROGBITS 00000000000006f0 000006f0
000000000000001a 0000000000000000 A 0 0 8
[15] .eh_frame_hdr PROGBITS 000000000000070c 0000070c
000000000000003c 0000000000000000 A 0 0 4
[16] .eh_frame PROGBITS 0000000000000748 00000748
00000000000000b4 0000000000000000 A 0 0 8
[17] .init_array INIT_ARRAY 0000000000010dd8 00000dd8
0000000000000008 0000000000000008 WA 0 0 8
[18] .fini_array FINI_ARRAY 0000000000010de0 00000de0
0000000000000008 0000000000000008 WA 0 0 8
[19] .dynamic DYNAMIC 0000000000010de8 00000de8
00000000000001d0 0000000000000010 WA 5 0 8
[20] .got PROGBITS 0000000000010fb8 00000fb8
0000000000000030 0000000000000008 WA 0 0 8
[21] .got.plt PROGBITS 0000000000010fe8 00000fe8
0000000000000030 0000000000000008 WA 0 0 8
[22] .data PROGBITS 0000000000011018 00001018
000000000000000c 0000000000000000 WA 0 0 8
[23] .bss NOBITS 0000000000011024 00001024
0000000000000004 0000000000000000 WA 0 0 1
[24] .comment PROGBITS 0000000000000000 00001024
0000000000000050 0000000000000001 MS 0 0 1
[25] .debug_aranges PROGBITS 0000000000000000 00001080
0000000000000090 0000000000000000 0 0 16
[26] .debug_info PROGBITS 0000000000000000 00001110
0000000000000044 0000000000000000 0 0 1
[27] .debug_abbrev PROGBITS 0000000000000000 00001154
0000000000000024 0000000000000000 0 0 1
[28] .debug_line PROGBITS 0000000000000000 00001178
00000000000000de 0000000000000000 0 0 1
[29] .debug_str PROGBITS 0000000000000000 00001256
00000000000000a6 0000000000000001 MS 0 0 1
[30] .debug_ranges PROGBITS 0000000000000000 00001300
0000000000000090 0000000000000000 0 0 16
[31] .symtab SYMTAB 0000000000000000 00001390
0000000000000750 0000000000000018 32 70 8
[32] .strtab STRTAB 0000000000000000 00001ae0
0000000000000256 0000000000000000 0 0 1
[33] .shstrtab STRTAB 0000000000000000 00001d36
000000000000013b 0000000000000000 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
L (link order), O (extra OS processing required), G (group), T (TLS),
C (compressed), x (unknown), o (OS specific), E (exclude),
p (processor specific)
There are no section groups in this file.
Program Headers:
Type Offset VirtAddr PhysAddr
FileSiz MemSiz Flags Align
LOAD 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x00000000000007fc 0x00000000000007fc R E 0x10000
LOAD 0x0000000000000dd8 0x0000000000010dd8 0x0000000000010dd8
0x000000000000024c 0x0000000000000250 RW 0x10000
DYNAMIC 0x0000000000000de8 0x0000000000010de8 0x0000000000010de8
0x00000000000001d0 0x00000000000001d0 RW 0x8
NOTE 0x00000000000001c8 0x00000000000001c8 0x00000000000001c8
0x0000000000000024 0x0000000000000024 R 0x4
GNU_EH_FRAME 0x000000000000070c 0x000000000000070c 0x000000000000070c
0x000000000000003c 0x000000000000003c R 0x4
GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 RW 0x10
GNU_RELRO 0x0000000000000dd8 0x0000000000010dd8 0x0000000000010dd8
0x0000000000000228 0x0000000000000228 R 0x1
Section to Segment mapping:
Segment Sections...
00 .note.gnu.build-id .hash .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .plt .text .fini .rodata .eh_frame_hdr .eh_frame
01 .init_array .fini_array .dynamic .got .got.plt .data .bss
02 .dynamic
03 .note.gnu.build-id
04 .eh_frame_hdr
05
06 .init_array .fini_array .dynamic .got
Dynamic section at offset 0xde8 contains 25 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000000c (INIT) 0x528
0x000000000000000d (FINI) 0x6dc
0x0000000000000019 (INIT_ARRAY) 0x10dd8
0x000000000000001b (INIT_ARRAYSZ) 8 (bytes)
0x000000000000001a (FINI_ARRAY) 0x10de0
0x000000000000001c (FINI_ARRAYSZ) 8 (bytes)
0x0000000000000004 (HASH) 0x1f0
0x000000006ffffef5 (GNU_HASH) 0x230
0x0000000000000005 (STRTAB) 0x368
0x0000000000000006 (SYMTAB) 0x260
0x000000000000000a (STRSZ) 127 (bytes)
0x000000000000000b (SYMENT) 24 (bytes)
0x0000000000000003 (PLTGOT) 0x10fe8
0x0000000000000002 (PLTRELSZ) 72 (bytes)
0x0000000000000014 (PLTREL) RELA
0x0000000000000017 (JMPREL) 0x4e0
0x0000000000000007 (RELA) 0x420
0x0000000000000008 (RELASZ) 192 (bytes)
0x0000000000000009 (RELAENT) 24 (bytes)
0x000000006ffffffe (VERNEED) 0x400
0x000000006fffffff (VERNEEDNUM) 1
0x000000006ffffff0 (VERSYM) 0x3e8
0x000000006ffffff9 (RELACOUNT) 3
0x0000000000000000 (NULL) 0x0
Relocation section '.rela.dyn' at offset 0x420 contains 8 entries:
Offset Info Type Sym. Value Sym. Name + Addend
000000010dd8 000000000403 R_AARCH64_RELATIV 670
000000010de0 000000000403 R_AARCH64_RELATIV 620
000000011018 000000000403 R_AARCH64_RELATIV 11018
000000010fc0 000800000401 R_AARCH64_GLOB_DA 0000000000011020 count + 0
000000010fc8 000300000401 R_AARCH64_GLOB_DA 0000000000000000 _ITM_deregisterTM[...] + 0
000000010fd0 000400000401 R_AARCH64_GLOB_DA 0000000000000000 __cxa_finalize@GLIBC_2.17 + 0
000000010fd8 000500000401 R_AARCH64_GLOB_DA 0000000000000000 __gmon_start__ + 0
000000010fe0 000600000401 R_AARCH64_GLOB_DA 0000000000000000 _ITM_registerTMCl[...] + 0
Relocation section '.rela.plt' at offset 0x4e0 contains 3 entries:
Offset Info Type Sym. Value Sym. Name + Addend
000000011000 000400000402 R_AARCH64_JUMP_SL 0000000000000000 __cxa_finalize@GLIBC_2.17 + 0
000000011008 000500000402 R_AARCH64_JUMP_SL 0000000000000000 __gmon_start__ + 0
000000011010 000700000402 R_AARCH64_JUMP_SL 0000000000000000 printf@GLIBC_2.17 + 0
The decoding of unwind sections for machine type AArch64 is not currently supported.
Symbol table '.dynsym' contains 11 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
1: 0000000000000528 0 SECTION LOCAL DEFAULT 10
2: 0000000000011018 0 SECTION LOCAL DEFAULT 22
3: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterT[...]
4: 0000000000000000 0 FUNC WEAK DEFAULT UND _[...]@GLIBC_2.17 (2)
5: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__
6: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMC[...]
7: 0000000000000000 0 FUNC GLOBAL DEFAULT UND printf@GLIBC_2.17 (2)
8: 0000000000011020 4 OBJECT GLOBAL DEFAULT 22 count
9: 0000000000000698 68 FUNC GLOBAL DEFAULT 12 get
10: 0000000000000674 36 FUNC GLOBAL DEFAULT 12 set
Symbol table '.symtab' contains 78 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
1: 00000000000001c8 0 SECTION LOCAL DEFAULT 1
2: 00000000000001f0 0 SECTION LOCAL DEFAULT 2
3: 0000000000000230 0 SECTION LOCAL DEFAULT 3
4: 0000000000000260 0 SECTION LOCAL DEFAULT 4
5: 0000000000000368 0 SECTION LOCAL DEFAULT 5
6: 00000000000003e8 0 SECTION LOCAL DEFAULT 6
7: 0000000000000400 0 SECTION LOCAL DEFAULT 7
8: 0000000000000420 0 SECTION LOCAL DEFAULT 8
9: 00000000000004e0 0 SECTION LOCAL DEFAULT 9
10: 0000000000000528 0 SECTION LOCAL DEFAULT 10
11: 0000000000000540 0 SECTION LOCAL DEFAULT 11
12: 0000000000000590 0 SECTION LOCAL DEFAULT 12
13: 00000000000006dc 0 SECTION LOCAL DEFAULT 13
14: 00000000000006f0 0 SECTION LOCAL DEFAULT 14
15: 000000000000070c 0 SECTION LOCAL DEFAULT 15
16: 0000000000000748 0 SECTION LOCAL DEFAULT 16
17: 0000000000010dd8 0 SECTION LOCAL DEFAULT 17
18: 0000000000010de0 0 SECTION LOCAL DEFAULT 18
19: 0000000000010de8 0 SECTION LOCAL DEFAULT 19
20: 0000000000010fb8 0 SECTION LOCAL DEFAULT 20
21: 0000000000010fe8 0 SECTION LOCAL DEFAULT 21
22: 0000000000011018 0 SECTION LOCAL DEFAULT 22
23: 0000000000011024 0 SECTION LOCAL DEFAULT 23
24: 0000000000000000 0 SECTION LOCAL DEFAULT 24
25: 0000000000000000 0 SECTION LOCAL DEFAULT 25
26: 0000000000000000 0 SECTION LOCAL DEFAULT 26
27: 0000000000000000 0 SECTION LOCAL DEFAULT 27
28: 0000000000000000 0 SECTION LOCAL DEFAULT 28
29: 0000000000000000 0 SECTION LOCAL DEFAULT 29
30: 0000000000000000 0 SECTION LOCAL DEFAULT 30
31: 0000000000000000 0 FILE LOCAL DEFAULT ABS /usr/local/linar[...]
32: 0000000000000590 0 NOTYPE LOCAL DEFAULT 12 $x
33: 0000000000000590 20 FUNC LOCAL DEFAULT 12 call_weak_fn
34: 0000000000000528 0 NOTYPE LOCAL DEFAULT 10 $x
35: 00000000000006dc 0 NOTYPE LOCAL DEFAULT 13 $x
36: 0000000000000000 0 FILE LOCAL DEFAULT ABS /usr/local/linar[...]
37: 0000000000000534 0 NOTYPE LOCAL DEFAULT 10 $x
38: 00000000000006e4 0 NOTYPE LOCAL DEFAULT 13 $x
39: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c
40: 00000000000005b0 0 NOTYPE LOCAL DEFAULT 12 $x
41: 00000000000005b0 0 FUNC LOCAL DEFAULT 12 deregister_tm_clones
42: 00000000000005e0 0 FUNC LOCAL DEFAULT 12 register_tm_clones
43: 0000000000011018 0 NOTYPE LOCAL DEFAULT 22 $d
44: 0000000000000620 0 FUNC LOCAL DEFAULT 12 __do_global_dtors_aux
45: 0000000000011024 1 OBJECT LOCAL DEFAULT 23 completed.0
46: 0000000000010de0 0 NOTYPE LOCAL DEFAULT 18 $d
47: 0000000000010de0 0 OBJECT LOCAL DEFAULT 18 __do_global_dtor[...]
48: 0000000000000670 0 FUNC LOCAL DEFAULT 12 frame_dummy
49: 0000000000010dd8 0 NOTYPE LOCAL DEFAULT 17 $d
50: 0000000000010dd8 0 OBJECT LOCAL DEFAULT 17 __frame_dummy_in[...]
51: 000000000000075c 0 NOTYPE LOCAL DEFAULT 16 $d
52: 0000000000011024 0 NOTYPE LOCAL DEFAULT 23 $d
53: 0000000000000000 0 FILE LOCAL DEFAULT ABS count.c
54: 0000000000011020 0 NOTYPE LOCAL DEFAULT 22 $d
55: 0000000000000674 0 NOTYPE LOCAL DEFAULT 12 $x
56: 00000000000006f0 0 NOTYPE LOCAL DEFAULT 14 $d
57: 00000000000007c0 0 NOTYPE LOCAL DEFAULT 16 $d
58: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c
59: 00000000000007f8 0 NOTYPE LOCAL DEFAULT 16 $d
60: 00000000000007f8 0 OBJECT LOCAL DEFAULT 16 __FRAME_END__
61: 0000000000000000 0 FILE LOCAL DEFAULT ABS
62: 00000000000006dc 0 FUNC LOCAL DEFAULT 13 _fini
63: 0000000000011018 0 OBJECT LOCAL DEFAULT 22 __dso_handle
64: 0000000000010de8 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC
65: 000000000000070c 0 NOTYPE LOCAL DEFAULT 15 __GNU_EH_FRAME_HDR
66: 0000000000011028 0 OBJECT LOCAL DEFAULT 22 __TMC_END__
67: 0000000000010fb8 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_
68: 0000000000000528 0 FUNC LOCAL DEFAULT 10 _init
69: 0000000000000540 0 NOTYPE LOCAL DEFAULT 11 $x
70: 0000000000011020 4 OBJECT GLOBAL DEFAULT 22 count
71: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterT[...]
72: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@@[...]
73: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__
74: 0000000000000698 68 FUNC GLOBAL DEFAULT 12 get
75: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMC[...]
76: 0000000000000000 0 FUNC GLOBAL DEFAULT UND printf@@GLIBC_2.17
77: 0000000000000674 36 FUNC GLOBAL DEFAULT 12 set
Histogram for bucket list length (total of 3 buckets):
Length Number % of total Coverage
0 0 ( 0.0%)
1 1 ( 33.3%) 12.5%
2 0 ( 0.0%) 12.5%
3 1 ( 33.3%) 50.0%
4 1 ( 33.3%) 100.0%
Histogram for `.gnu.hash' bucket list length (total of 3 buckets):
Length Number % of total Coverage
0 1 ( 33.3%)
1 1 ( 33.3%) 33.3%
2 1 ( 33.3%) 100.0%
Version symbols section '.gnu.version' contains 11 entries:
Addr: 0x00000000000003e8 Offset: 0x0003e8 Link: 4 (.dynsym)
000: 0 (*local*) 0 (*local*) 0 (*local*) 0 (*local*)
004: 2 (GLIBC_2.17) 0 (*local*) 0 (*local*) 2 (GLIBC_2.17)
008: 1 (*global*) 1 (*global*) 1 (*global*)
Version needs section '.gnu.version_r' contains 1 entry:
Addr: 0x0000000000000400 Offset: 0x000400 Link: 5 (.dynstr)
000000: Version: 1 File: libc.so.6 Cnt: 1
0x0010: Name: GLIBC_2.17 Flags: none Version: 2
Displaying notes found in: .note.gnu.build-id
Owner Data size Description
GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring)
Build ID: 0d028d387285ff55b2342d54c8512624c6011788
aarch64-linux-gnu-objdump -t libcount.so
libcount.so: file format elf64-littleaarch64
SYMBOL TABLE:
00000000000001c8 l d .note.gnu.build-id 0000000000000000 .note.gnu.build-id
00000000000001f0 l d .hash 0000000000000000 .hash
0000000000000230 l d .gnu.hash 0000000000000000 .gnu.hash
0000000000000260 l d .dynsym 0000000000000000 .dynsym
0000000000000368 l d .dynstr 0000000000000000 .dynstr
00000000000003e8 l d .gnu.version 0000000000000000 .gnu.version
0000000000000400 l d .gnu.version_r 0000000000000000 .gnu.version_r
0000000000000420 l d .rela.dyn 0000000000000000 .rela.dyn
00000000000004e0 l d .rela.plt 0000000000000000 .rela.plt
0000000000000528 l d .init 0000000000000000 .init
0000000000000540 l d .plt 0000000000000000 .plt
0000000000000590 l d .text 0000000000000000 .text
00000000000006dc l d .fini 0000000000000000 .fini
00000000000006f0 l d .rodata 0000000000000000 .rodata
000000000000070c l d .eh_frame_hdr 0000000000000000 .eh_frame_hdr
0000000000000748 l d .eh_frame 0000000000000000 .eh_frame
0000000000010dd8 l d .init_array 0000000000000000 .init_array
0000000000010de0 l d .fini_array 0000000000000000 .fini_array
0000000000010de8 l d .dynamic 0000000000000000 .dynamic
0000000000010fb8 l d .got 0000000000000000 .got
0000000000010fe8 l d .got.plt 0000000000000000 .got.plt
0000000000011018 l d .data 0000000000000000 .data
0000000000011024 l d .bss 0000000000000000 .bss
0000000000000000 l d .comment 0000000000000000 .comment
0000000000000000 l d .debug_aranges 0000000000000000 .debug_aranges
0000000000000000 l d .debug_info 0000000000000000 .debug_info
0000000000000000 l d .debug_abbrev 0000000000000000 .debug_abbrev
0000000000000000 l d .debug_line 0000000000000000 .debug_line
0000000000000000 l d .debug_str 0000000000000000 .debug_str
0000000000000000 l d .debug_ranges 0000000000000000 .debug_ranges
0000000000000000 l df *ABS* 0000000000000000 /usr/local/linaro-aarch64-2020.09-gcc10.2-linux5.4/bin/../aarch64-linux-gnu/libc/usr/lib/crti.o
0000000000000590 l F .text 0000000000000014 call_weak_fn
0000000000000000 l df *ABS* 0000000000000000 /usr/local/linaro-aarch64-2020.09-gcc10.2-linux5.4/bin/../aarch64-linux-gnu/libc/usr/lib/crtn.o
0000000000000000 l df *ABS* 0000000000000000 crtstuff.c
00000000000005b0 l F .text 0000000000000000 deregister_tm_clones
00000000000005e0 l F .text 0000000000000000 register_tm_clones
0000000000000620 l F .text 0000000000000000 __do_global_dtors_aux
0000000000011024 l O .bss 0000000000000001 completed.0
0000000000010de0 l O .fini_array 0000000000000000 __do_global_dtors_aux_fini_array_entry
0000000000000670 l F .text 0000000000000000 frame_dummy
0000000000010dd8 l O .init_array 0000000000000000 __frame_dummy_init_array_entry
0000000000000000 l df *ABS* 0000000000000000 count.c
0000000000000000 l df *ABS* 0000000000000000 crtstuff.c
00000000000007f8 l O .eh_frame 0000000000000000 __FRAME_END__
0000000000000000 l df *ABS* 0000000000000000
00000000000006dc l F .fini 0000000000000000 _fini
0000000000011018 l O .data 0000000000000000 __dso_handle
0000000000010de8 l O *ABS* 0000000000000000 _DYNAMIC
000000000000070c l .eh_frame_hdr 0000000000000000 __GNU_EH_FRAME_HDR
0000000000011028 l O .data 0000000000000000 __TMC_END__
0000000000010fb8 l O *ABS* 0000000000000000 _GLOBAL_OFFSET_TABLE_
0000000000000528 l F .init 0000000000000000 _init
0000000000011020 g O .data 0000000000000004 count
0000000000000000 w *UND* 0000000000000000 _ITM_deregisterTMCloneTable
0000000000000000 w F *UND* 0000000000000000 __cxa_finalize@@GLIBC_2.17
0000000000000000 w *UND* 0000000000000000 __gmon_start__
0000000000000698 g F .text 0000000000000044 get
0000000000000000 w *UND* 0000000000000000 _ITM_registerTMCloneTable
0000000000000000 F *UND* 0000000000000000 printf@@GLIBC_2.17
0000000000000674 g F .text 0000000000000024 set
aarch64-linux-gnu-objdump -T libcount.so
libcount.so: file format elf64-littleaarch64
DYNAMIC SYMBOL TABLE:
0000000000000528 l d .init 0000000000000000 .init
0000000000011018 l d .data 0000000000000000 .data
0000000000000000 w D *UND* 0000000000000000 _ITM_deregisterTMCloneTable
0000000000000000 w DF *UND* 0000000000000000 GLIBC_2.17 __cxa_finalize
0000000000000000 w D *UND* 0000000000000000 __gmon_start__
0000000000000000 w D *UND* 0000000000000000 _ITM_registerTMCloneTable
0000000000000000 DF *UND* 0000000000000000 GLIBC_2.17 printf
0000000000011020 g DO .data 0000000000000004 Base count
0000000000000698 g DF .text 0000000000000044 Base get
0000000000000674 g DF .text 0000000000000024 Base set
aarch64-linux-gnu-objdump -R libcount.so
libcount.so: file format elf64-littleaarch64
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
0000000000010dd8 R_AARCH64_RELATIVE *ABS*+0x0000000000000670
0000000000010de0 R_AARCH64_RELATIVE *ABS*+0x0000000000000620
0000000000011018 R_AARCH64_RELATIVE *ABS*+0x0000000000011018
0000000000010fc0 R_AARCH64_GLOB_DAT count@@Base
0000000000010fc8 R_AARCH64_GLOB_DAT _ITM_deregisterTMCloneTable
0000000000010fd0 R_AARCH64_GLOB_DAT __cxa_finalize@GLIBC_2.17
0000000000010fd8 R_AARCH64_GLOB_DAT __gmon_start__
0000000000010fe0 R_AARCH64_GLOB_DAT _ITM_registerTMCloneTable
0000000000011000 R_AARCH64_JUMP_SLOT __cxa_finalize@GLIBC_2.17
0000000000011008 R_AARCH64_JUMP_SLOT __gmon_start__
0000000000011010 R_AARCH64_JUMP_SLOT printf@GLIBC_2.17
aarch64-linux-gnu-objdump -D libcount.so > D.txt
D.txt:
libcount.so: file format elf64-littleaarch64
Disassembly of section .note.gnu.build-id:
00000000000001c8 <.note.gnu.build-id>:
1c8: 00000004 udf #4
1cc: 00000014 udf #20
1d0: 00000003 udf #3
1d4: 00554e47 .inst 0x00554e47 ; undefined
1d8: 388d020d ldursb x13, [x16, #208]
1dc: 55ff8572 .inst 0x55ff8572 ; undefined
1e0: 542d34b2 .inst 0x542d34b2 ; undefined
1e4: 242651c8 cmphs p8.b, p4/z, z14.b, #25
1e8: 881701c6 stxr w23, w6, [x14]
Disassembly of section .hash:
00000000000001f0 <.hash>:
1f0: 00000003 udf #3
1f4: 0000000b udf #11
1f8: 00000005 udf #5
1fc: 00000006 udf #6
200: 0000000a udf #10
...
210: 00000008 udf #8
...
21c: 00000003 udf #3
220: 00000009 udf #9
224: 00000000 udf #0
228: 00000004 udf #4
22c: 00000007 udf #7
Disassembly of section .gnu.hash:
0000000000000230 <.gnu.hash>:
230: 00000003 udf #3
234: 00000008 udf #8
238: 00000001 udf #1
23c: 00000006 udf #6
240: 04020020 .inst 0x04020020 ; undefined
244: 00004042 udf #16450
248: 00000000 udf #0
24c: 00000008 udf #8
250: 00000009 udf #9
254: 0f3d586f fmls v15.4h, v3.4h, v13.h[7]
258: 0b887684 add w4, w20, w8, asr #29
25c: 0b88a991 .inst 0x0b88a991 ; undefined
Disassembly of section .dynsym:
0000000000000260 <.dynsym>:
...
27c: 000a0003 .inst 0x000a0003 ; undefined
280: 00000528 udf #1320
...
294: 00160003 .inst 0x00160003 ; undefined
298: 00011018 .inst 0x00011018 ; undefined
...
2a8: 00000010 udf #16
2ac: 00000020 udf #32
...
2c0: 00000046 udf #70
2c4: 00000022 udf #34
...
2d8: 00000001 udf #1
2dc: 00000020 udf #32
...
2f0: 0000002c udf #44
2f4: 00000020 udf #32
...
308: 00000063 udf #99
30c: 00000012 udf #18
...
320: 00000055 udf #85
324: 00160011 .inst 0x00160011 ; undefined
328: 00011020 .inst 0x00011020 ; undefined
32c: 00000000 udf #0
330: 00000004 udf #4
334: 00000000 udf #0
338: 0000005f udf #95
33c: 000c0012 .inst 0x000c0012 ; undefined
340: 00000698 udf #1688
344: 00000000 udf #0
348: 00000044 udf #68
34c: 00000000 udf #0
350: 0000005b udf #91
354: 000c0012 .inst 0x000c0012 ; undefined
358: 00000674 udf #1652
35c: 00000000 udf #0
360: 00000024 udf #36
364: 00000000 udf #0
Disassembly of section .dynstr:
0000000000000368 <.dynstr>:
368: 675f5f00 .inst 0x675f5f00 ; undefined
36c: 5f6e6f6d .inst 0x5f6e6f6d ; undefined
370: 72617473 .inst 0x72617473 ; undefined
374: 005f5f74 .inst 0x005f5f74 ; undefined
378: 4d54495f .inst 0x4d54495f ; undefined
37c: 7265645f .inst 0x7265645f ; undefined
380: 73696765 .inst 0x73696765 ; undefined
384: 54726574 .inst 0x54726574 ; undefined
388: 6f6c434d mls v13.8h, v26.8h, v12.h[2]
38c: 6154656e .inst 0x6154656e ; undefined
390: 00656c62 .inst 0x00656c62 ; undefined
394: 4d54495f .inst 0x4d54495f ; undefined
398: 6765725f .inst 0x6765725f ; undefined
39c: 65747369 fnmls z9.h, p4/m, z27.h, z20.h
3a0: 434d5472 .inst 0x434d5472 ; undefined
3a4: 656e6f6c fnmls z12.h, p3/m, z27.h, z14.h
3a8: 6c626154 ldnp d20, d24, [x10, #-480]
3ac: 5f5f0065 .inst 0x5f5f0065 ; undefined
3b0: 5f617863 sqdmlsl s3, h3, v1.h[6]
3b4: 616e6966 .inst 0x616e6966 ; undefined
3b8: 657a696c fnmls z12.h, p2/m, z11.h, z26.h
3bc: 756f6300 .inst 0x756f6300 ; undefined
3c0: 7300746e .inst 0x7300746e ; undefined
3c4: 67007465 .inst 0x67007465 ; undefined
3c8: 70007465 adr x5, 1257 <__FRAME_END__+0xa5f>
3cc: 746e6972 .inst 0x746e6972 ; undefined
3d0: 696c0066 ldpsw x6, x0, [x3, #-160]
3d4: 732e6362 .inst 0x732e6362 ; undefined
3d8: 00362e6f .inst 0x00362e6f ; NYI
3dc: 42494c47 .inst 0x42494c47 ; undefined
3e0: 2e325f43 uqrshl v3.8b, v26.8b, v18.8b
3e4: Address 0x00000000000003e4 is out of bounds.
Disassembly of section .gnu.version:
00000000000003e8 <.gnu.version>:
...
3f0: 00000002 udf #2
3f4: 00020000 .inst 0x00020000 ; undefined
3f8: 00010001 .inst 0x00010001 ; undefined
3fc: Address 0x00000000000003fc is out of bounds.
Disassembly of section .gnu.version_r:
0000000000000400 <.gnu.version_r>:
400: 00010001 .inst 0x00010001 ; undefined
404: 0000006a udf #106
408: 00000010 udf #16
40c: 00000000 udf #0
410: 06969197 .inst 0x06969197 ; undefined
414: 00020000 .inst 0x00020000 ; undefined
418: 00000074 udf #116
41c: 00000000 udf #0
Disassembly of section .rela.dyn:
0000000000000420 <.rela.dyn>:
420: 00010dd8 .inst 0x00010dd8 ; undefined
424: 00000000 udf #0
428: 00000403 udf #1027
42c: 00000000 udf #0
430: 00000670 udf #1648
434: 00000000 udf #0
438: 00010de0 .inst 0x00010de0 ; undefined
43c: 00000000 udf #0
440: 00000403 udf #1027
444: 00000000 udf #0
448: 00000620 udf #1568
44c: 00000000 udf #0
450: 00011018 .inst 0x00011018 ; undefined
454: 00000000 udf #0
458: 00000403 udf #1027
45c: 00000000 udf #0
460: 00011018 .inst 0x00011018 ; undefined
464: 00000000 udf #0
468: 00010fc0 .inst 0x00010fc0 ; undefined
46c: 00000000 udf #0
470: 00000401 udf #1025
474: 00000008 udf #8
...
480: 00010fc8 .inst 0x00010fc8 ; undefined
484: 00000000 udf #0
488: 00000401 udf #1025
48c: 00000003 udf #3
...
498: 00010fd0 .inst 0x00010fd0 ; undefined
49c: 00000000 udf #0
4a0: 00000401 udf #1025
4a4: 00000004 udf #4
...
4b0: 00010fd8 .inst 0x00010fd8 ; undefined
4b4: 00000000 udf #0
4b8: 00000401 udf #1025
4bc: 00000005 udf #5
...
4c8: 00010fe0 .inst 0x00010fe0 ; undefined
4cc: 00000000 udf #0
4d0: 00000401 udf #1025
4d4: 00000006 udf #6
...
Disassembly of section .rela.plt:
00000000000004e0 <.rela.plt>:
4e0: 00011000 .inst 0x00011000 ; undefined
4e4: 00000000 udf #0
4e8: 00000402 udf #1026
4ec: 00000004 udf #4
...
4f8: 00011008 .inst 0x00011008 ; undefined
4fc: 00000000 udf #0
500: 00000402 udf #1026
504: 00000005 udf #5
...
510: 00011010 .inst 0x00011010 ; undefined
514: 00000000 udf #0
518: 00000402 udf #1026
51c: 00000007 udf #7
...
Disassembly of section .init:
0000000000000528 <_init>:
528: a9bf7bfd stp x29, x30, [sp, #-16]!
52c: 910003fd mov x29, sp
530: 94000018 bl 590 <call_weak_fn>
534: a8c17bfd ldp x29, x30, [sp], #16
538: d65f03c0 ret
Disassembly of section .plt:
0000000000000540 <.plt>:
540: a9bf7bf0 stp x16, x30, [sp, #-16]!
544: 90000090 adrp x16, 10000 <__FRAME_END__+0xf808>
548: f947fe11 ldr x17, [x16, #4088]
54c: 913fe210 add x16, x16, #0xff8
550: d61f0220 br x17
554: d503201f nop
558: d503201f nop
55c: d503201f nop
0000000000000560 <__cxa_finalize@plt>:
560: b0000090 adrp x16, 11000 <__cxa_finalize@GLIBC_2.17>
564: f9400211 ldr x17, [x16]
568: 91000210 add x16, x16, #0x0
56c: d61f0220 br x17
0000000000000570 <__gmon_start__@plt>:
570: b0000090 adrp x16, 11000 <__cxa_finalize@GLIBC_2.17>
574: f9400611 ldr x17, [x16, #8]
578: 91002210 add x16, x16, #0x8
57c: d61f0220 br x17
0000000000000580 <printf@plt>:
580: b0000090 adrp x16, 11000 <__cxa_finalize@GLIBC_2.17>
584: f9400a11 ldr x17, [x16, #16]
588: 91004210 add x16, x16, #0x10
58c: d61f0220 br x17
Disassembly of section .text:
0000000000000590 <call_weak_fn>:
590: 90000080 adrp x0, 10000 <__FRAME_END__+0xf808>
594: f947ec00 ldr x0, [x0, #4056]
598: b4000040 cbz x0, 5a0 <call_weak_fn+0x10>
59c: 17fffff5 b 570 <__gmon_start__@plt>
5a0: d65f03c0 ret
5a4: d503201f nop
5a8: d503201f nop
5ac: d503201f nop
00000000000005b0 <deregister_tm_clones>:
5b0: b0000080 adrp x0, 11000 <__cxa_finalize@GLIBC_2.17>
5b4: 9100a000 add x0, x0, #0x28
5b8: b0000081 adrp x1, 11000 <__cxa_finalize@GLIBC_2.17>
5bc: 9100a021 add x1, x1, #0x28
5c0: eb00003f cmp x1, x0
5c4: 540000c0 b.eq 5dc <deregister_tm_clones+0x2c> // b.none
5c8: 90000081 adrp x1, 10000 <__FRAME_END__+0xf808>
5cc: f947e421 ldr x1, [x1, #4040]
5d0: b4000061 cbz x1, 5dc <deregister_tm_clones+0x2c>
5d4: aa0103f0 mov x16, x1
5d8: d61f0200 br x16
5dc: d65f03c0 ret
00000000000005e0 <register_tm_clones>:
5e0: b0000080 adrp x0, 11000 <__cxa_finalize@GLIBC_2.17>
5e4: 9100a000 add x0, x0, #0x28
5e8: b0000081 adrp x1, 11000 <__cxa_finalize@GLIBC_2.17>
5ec: 9100a021 add x1, x1, #0x28
5f0: cb000021 sub x1, x1, x0
5f4: d37ffc22 lsr x2, x1, #63
5f8: 8b810c41 add x1, x2, x1, asr #3
5fc: 9341fc21 asr x1, x1, #1
600: b40000c1 cbz x1, 618 <register_tm_clones+0x38>
604: 90000082 adrp x2, 10000 <__FRAME_END__+0xf808>
608: f947f042 ldr x2, [x2, #4064]
60c: b4000062 cbz x2, 618 <register_tm_clones+0x38>
610: aa0203f0 mov x16, x2
614: d61f0200 br x16
618: d65f03c0 ret
61c: d503201f nop
0000000000000620 <__do_global_dtors_aux>:
620: a9be7bfd stp x29, x30, [sp, #-32]!
624: 910003fd mov x29, sp
628: f9000bf3 str x19, [sp, #16]
62c: b0000093 adrp x19, 11000 <__cxa_finalize@GLIBC_2.17>
630: 39409260 ldrb w0, [x19, #36]
634: 35000140 cbnz w0, 65c <__do_global_dtors_aux+0x3c>
638: 90000080 adrp x0, 10000 <__FRAME_END__+0xf808>
63c: f947e800 ldr x0, [x0, #4048]
640: b4000080 cbz x0, 650 <__do_global_dtors_aux+0x30>
644: b0000080 adrp x0, 11000 <__cxa_finalize@GLIBC_2.17>
648: f9400c00 ldr x0, [x0, #24]
64c: 97ffffc5 bl 560 <__cxa_finalize@plt>
650: 97ffffd8 bl 5b0 <deregister_tm_clones>
654: 52800020 mov w0, #0x1 // #1
658: 39009260 strb w0, [x19, #36]
65c: f9400bf3 ldr x19, [sp, #16]
660: a8c27bfd ldp x29, x30, [sp], #32
664: d65f03c0 ret
668: d503201f nop
66c: d503201f nop
0000000000000670 <frame_dummy>:
670: 17ffffdc b 5e0 <register_tm_clones>
0000000000000674 <set>:
674: d10043ff sub sp, sp, #0x10
678: b9000fe0 str w0, [sp, #12]
67c: 90000080 adrp x0, 10000 <__FRAME_END__+0xf808>
680: f947e000 ldr x0, [x0, #4032]
684: b9400fe1 ldr w1, [sp, #12]
688: b9000001 str w1, [x0]
68c: d503201f nop
690: 910043ff add sp, sp, #0x10
694: d65f03c0 ret
0000000000000698 <get>:
698: a9bf7bfd stp x29, x30, [sp, #-16]!
69c: 910003fd mov x29, sp
6a0: 90000080 adrp x0, 10000 <__FRAME_END__+0xf808>
// 10000=__FRAME_END__+0xf808
//4032=0xfc0 10000+fc0=10fc0
10fc0在.got段中
6a4: f947e000 ldr x0, [x0, #4032]
6a8: b9400000 ldr w0, [x0]
6ac: 2a0003e1 mov w1, w0
6b0: 90000000 adrp x0, 0 <_init-0x528>
6b4: 911bc000 add x0, x0, #0x6f0
6b8: 97ffffb2 bl 580 <printf@plt>
6bc: 90000080 adrp x0, 10000 <__FRAME_END__+0xf808>
6c0: f947e001 ldr x1, [x0, #4032]
6c4: 90000000 adrp x0, 0 <_init-0x528>
6c8: 911c0000 add x0, x0, #0x700
6cc: 97ffffad bl 580 <printf@plt>
6d0: d503201f nop
6d4: a8c17bfd ldp x29, x30, [sp], #16
6d8: d65f03c0 ret
Disassembly of section .fini:
00000000000006dc <_fini>:
6dc: a9bf7bfd stp x29, x30, [sp, #-16]!
6e0: 910003fd mov x29, sp
6e4: a8c17bfd ldp x29, x30, [sp], #16
6e8: d65f03c0 ret
Disassembly of section .rodata:
00000000000006f0 <.rodata>:
6f0: 6e756f63 umin v3.8h, v27.8h, v21.8h
6f4: 64253a74 .inst 0x64253a74 ; undefined
6f8: 0000000a udf #10
6fc: 00000000 udf #0
700: 6e756f63 umin v3.8h, v27.8h, v21.8h
704: 70253a74 adr x20, 4ae53 <__TMC_END__+0x39e2b>
708: Address 0x0000000000000708 is out of bounds.
Disassembly of section .eh_frame_hdr:
000000000000070c <__GNU_EH_FRAME_HDR>:
70c: 3b031b01 .inst 0x3b031b01 ; undefined
710: 00000038 udf #56
714: 00000006 udf #6
718: fffffea4 .inst 0xfffffea4 ; undefined
71c: 00000050 udf #80
720: fffffed4 .inst 0xfffffed4 ; undefined
724: 00000064 udf #100
728: ffffff14 .inst 0xffffff14 ; undefined
72c: 00000078 udf #120
730: ffffff64 .inst 0xffffff64 ; undefined
734: 0000009c udf #156
738: ffffff68 .inst 0xffffff68 ; undefined
73c: 000000b4 udf #180
740: ffffff8c .inst 0xffffff8c ; undefined
744: 000000cc udf #204
Disassembly of section .eh_frame:
0000000000000748 <__FRAME_END__-0xb0>:
748: 00000010 udf #16
74c: 00000000 udf #0
750: 00527a01 .inst 0x00527a01 ; undefined
754: 011e7804 .inst 0x011e7804 ; undefined
758: 001f0c1b .inst 0x001f0c1b ; undefined
75c: 00000010 udf #16
760: 00000018 udf #24
764: fffffe4c .inst 0xfffffe4c ; undefined
768: 00000030 udf #48
76c: 00000000 udf #0
770: 00000010 udf #16
774: 0000002c udf #44
778: fffffe68 .inst 0xfffffe68 ; undefined
77c: 0000003c udf #60
780: 00000000 udf #0
784: 00000020 udf #32
788: 00000040 udf #64
78c: fffffe94 .inst 0xfffffe94 ; undefined
790: 00000048 udf #72
794: 200e4100 .inst 0x200e4100 ; undefined
798: 039e049d .inst 0x039e049d ; undefined
79c: 4e029342 .inst 0x4e029342 ; undefined
7a0: 0ed3ddde .inst 0x0ed3ddde ; undefined
7a4: 00000000 udf #0
7a8: 00000014 udf #20
7ac: 00000064 udf #100
7b0: fffffec0 .inst 0xfffffec0 ; undefined
7b4: 00000004 udf #4
...
7c0: 00000014 udf #20
7c4: 0000007c udf #124
7c8: fffffeac .inst 0xfffffeac ; undefined
7cc: 00000024 udf #36
7d0: 100e4100 adr x0, 1cff0 <__TMC_END__+0xbfc8>
7d4: 00000e47 udf #3655
7d8: 0000001c udf #28
7dc: 00000094 udf #148
7e0: fffffeb8 .inst 0xfffffeb8 ; undefined
7e4: 00000044 udf #68
7e8: 100e4100 adr x0, 1d008 <__TMC_END__+0xbfe0>
7ec: 019e029d .inst 0x019e029d ; undefined
7f0: 0eddde4f .inst 0x0eddde4f ; undefined
7f4: 00000000 udf #0
00000000000007f8 <__FRAME_END__>:
7f8: 00000000 udf #0
Disassembly of section .init_array:
0000000000010dd8 <__frame_dummy_init_array_entry>:
10dd8: 00000670 udf #1648
10ddc: 00000000 udf #0
Disassembly of section .fini_array:
0000000000010de0 <__do_global_dtors_aux_fini_array_entry>:
10de0: 00000620 udf #1568
10de4: 00000000 udf #0
Disassembly of section .dynamic:
0000000000010de8 <.dynamic>:
10de8: 00000001 udf #1
10dec: 00000000 udf #0
10df0: 0000006a udf #106
10df4: 00000000 udf #0
10df8: 0000000c udf #12
10dfc: 00000000 udf #0
10e00: 00000528 udf #1320
10e04: 00000000 udf #0
10e08: 0000000d udf #13
10e0c: 00000000 udf #0
10e10: 000006dc udf #1756
10e14: 00000000 udf #0
10e18: 00000019 udf #25
10e1c: 00000000 udf #0
10e20: 00010dd8 .inst 0x00010dd8 ; undefined
10e24: 00000000 udf #0
10e28: 0000001b udf #27
10e2c: 00000000 udf #0
10e30: 00000008 udf #8
10e34: 00000000 udf #0
10e38: 0000001a udf #26
10e3c: 00000000 udf #0
10e40: 00010de0 .inst 0x00010de0 ; undefined
10e44: 00000000 udf #0
10e48: 0000001c udf #28
10e4c: 00000000 udf #0
10e50: 00000008 udf #8
10e54: 00000000 udf #0
10e58: 00000004 udf #4
10e5c: 00000000 udf #0
10e60: 000001f0 udf #496
10e64: 00000000 udf #0
10e68: 6ffffef5 .inst 0x6ffffef5 ; undefined
10e6c: 00000000 udf #0
10e70: 00000230 udf #560
10e74: 00000000 udf #0
10e78: 00000005 udf #5
10e7c: 00000000 udf #0
10e80: 00000368 udf #872
10e84: 00000000 udf #0
10e88: 00000006 udf #6
10e8c: 00000000 udf #0
10e90: 00000260 udf #608
10e94: 00000000 udf #0
10e98: 0000000a udf #10
10e9c: 00000000 udf #0
10ea0: 0000007f udf #127
10ea4: 00000000 udf #0
10ea8: 0000000b udf #11
10eac: 00000000 udf #0
10eb0: 00000018 udf #24
10eb4: 00000000 udf #0
10eb8: 00000003 udf #3
10ebc: 00000000 udf #0
10ec0: 00010fe8 .inst 0x00010fe8 ; undefined
10ec4: 00000000 udf #0
10ec8: 00000002 udf #2
10ecc: 00000000 udf #0
10ed0: 00000048 udf #72
10ed4: 00000000 udf #0
10ed8: 00000014 udf #20
10edc: 00000000 udf #0
10ee0: 00000007 udf #7
10ee4: 00000000 udf #0
10ee8: 00000017 udf #23
10eec: 00000000 udf #0
10ef0: 000004e0 udf #1248
10ef4: 00000000 udf #0
10ef8: 00000007 udf #7
10efc: 00000000 udf #0
10f00: 00000420 udf #1056
10f04: 00000000 udf #0
10f08: 00000008 udf #8
10f0c: 00000000 udf #0
10f10: 000000c0 udf #192
10f14: 00000000 udf #0
10f18: 00000009 udf #9
10f1c: 00000000 udf #0
10f20: 00000018 udf #24
10f24: 00000000 udf #0
10f28: 6ffffffe .inst 0x6ffffffe ; undefined
10f2c: 00000000 udf #0
10f30: 00000400 udf #1024
10f34: 00000000 udf #0
10f38: 6fffffff .inst 0x6fffffff ; undefined
10f3c: 00000000 udf #0
10f40: 00000001 udf #1
10f44: 00000000 udf #0
10f48: 6ffffff0 .inst 0x6ffffff0 ; undefined
10f4c: 00000000 udf #0
10f50: 000003e8 udf #1000
10f54: 00000000 udf #0
10f58: 6ffffff9 .inst 0x6ffffff9 ; undefined
10f5c: 00000000 udf #0
10f60: 00000003 udf #3
...
Disassembly of section .got:
0000000000010fb8 <.got>:
10fb8: 00010de8 .inst 0x00010de8 ; undefined
...
Disassembly of section .got.plt:
0000000000010fe8 <.got.plt>:
...
11000: 00000540 udf #1344
11004: 00000000 udf #0
11008: 00000540 udf #1344
1100c: 00000000 udf #0
11010: 00000540 udf #1344
11014: 00000000 udf #0
Disassembly of section .data:
0000000000011018 <__dso_handle>:
11018: 00011018 .inst 0x00011018 ; undefined
1101c: 00000000 udf #0
0000000000011020 <count>:
11020: 00000064 udf #100
Disassembly of section .bss:
0000000000011024 <completed.0>:
11024: 00000000 udf #0
Disassembly of section .comment:
0000000000000000 <.comment>:
0: 3a434347 ccmn w26, w3, #0x7, mi // mi = first
4: 4e472820 trn1 v0.8h, v1.8h, v7.8h
8: 31202955 adds w21, w10, #0x80a
c: 2e322e30 uqsub v16.8b, v17.8b, v18.8b
10: 30322031 adr x17, 64415 <__TMC_END__+0x533ed>
14: 39303032 strb w18, [x1, #3084]
18: 5b203730 .inst 0x5b203730 ; undefined
1c: 76657220 .inst 0x76657220 ; undefined
20: 6f697369 fcmla v9.8h, v27.8h, v9.h[1], #270
24: 6563206e fmls z14.h, p0/m, z3.h, z3.h
28: 31303033 adds w19, w1, #0xc0c
2c: 64316666 .inst 0x64316666 ; undefined
30: 65343337 .inst 0x65343337 ; undefined
34: 33363730 .inst 0x33363730 ; undefined
38: 35613161 cbnz w1, c2664 <__TMC_END__+0xb163c>
3c: 34333465 cbz w5, 666c8 <__TMC_END__+0x556a0>
40: 62323732 .inst 0x62323732 ; undefined
44: 64393866 .inst 0x64393866 ; undefined
48: 65663166 fmls z6.h, p4/m, z11.h, z6.h
4c: 005d3630 .inst 0x005d3630 ; undefined
Disassembly of section .debug_aranges:
0000000000000000 <.debug_aranges>:
0: 0000004c udf #76
4: 00000002 udf #2
8: 00080000 .inst 0x00080000 ; undefined
c: 00000000 udf #0
10: 00000590 udf #1424
14: 00000000 udf #0
18: 00000014 udf #20
1c: 00000000 udf #0
20: 00000528 udf #1320
24: 00000000 udf #0
28: 0000000c udf #12
2c: 00000000 udf #0
30: 000006dc udf #1756
34: 00000000 udf #0
38: 00000008 udf #8
...
50: 0000003c udf #60
54: 00220002 .inst 0x00220002 ; NYI
58: 00080000 .inst 0x00080000 ; undefined
5c: 00000000 udf #0
60: 00000534 udf #1332
64: 00000000 udf #0
68: 00000008 udf #8
6c: 00000000 udf #0
70: 000006e4 udf #1764
74: 00000000 udf #0
78: 00000008 udf #8
...
Disassembly of section .debug_info:
0000000000000000 <.debug_info>:
0: 0000001e udf #30
4: 00000002 udf #2
8: 01080000 .inst 0x01080000 ; undefined
...
18: 0000001a udf #26
1c: 00000080 udf #128
20: 001e8001 .inst 0x001e8001 ; undefined
24: 00020000 .inst 0x00020000 ; undefined
28: 00000012 udf #18
2c: 007c0108 .inst 0x007c0108 ; undefined
30: 00500000 .inst 0x00500000 ; undefined
34: 008c0000 .inst 0x008c0000 ; undefined
38: 001a0000 .inst 0x001a0000 ; undefined
3c: 00800000 .inst 0x00800000 ; undefined
40: 80010000 .inst 0x80010000 ; undefined
Disassembly of section .debug_abbrev:
0000000000000000 <.debug_abbrev>:
0: 10001101 adr x1, 220 <_init-0x308>
4: 03065506 .inst 0x03065506 ; undefined
8: 250e1b0e cmpge p14.b, p6/z, z24.b, #14
c: 0005130e .inst 0x0005130e ; undefined
10: 11010000 add w0, w0, #0x40
14: 55061000 .inst 0x55061000 ; undefined
18: 1b0e0306 madd w6, w24, w14, w0
1c: 130e250e sbfiz w14, w8, #18, #10
20: 00000005 udf #5
Disassembly of section .debug_line:
0000000000000000 <.debug_line>:
0: 00000078 udf #120
4: 00300003 .inst 0x00300003 ; NYI
8: 01040000 .inst 0x01040000 ; undefined
c: 000d0efb .inst 0x000d0efb ; undefined
10: 01010101 .inst 0x01010101 ; undefined
14: 01000000 .inst 0x01000000 ; undefined
18: 2e010000 ext v0.8b, v0.8b, v1.8b, #0
1c: 79732f2e ldrh w14, [x25, #6550]
20: 70656473 adr x19, cacaf <__TMC_END__+0xb9c87>
24: 61612f73 .inst 0x61612f73 ; undefined
28: 36686372 tbz w18, #13, c94 <__FRAME_END__+0x49c>
2c: 63000034 .inst 0x63000034 ; undefined
30: 2e697472 uabd v18.4h, v3.4h, v9.4h
34: 00010053 .inst 0x00010053 ; undefined
38: 09000000 .inst 0x09000000 ; undefined
3c: 00059002 .inst 0x00059002 ; undefined
40: 00000000 udf #0
44: 013e0300 .inst 0x013e0300 ; undefined
48: 22212121 .inst 0x22212121 ; undefined
4c: 01000102 .inst 0x01000102 ; undefined
50: 02090001 .inst 0x02090001 ; undefined
54: 00000528 udf #1320
58: 00000000 udf #0
5c: 0100cd03 .inst 0x0100cd03 ; undefined
60: 01022221 .inst 0x01022221 ; undefined
64: 00010100 .inst 0x00010100 ; undefined
68: 06dc0209 .inst 0x06dc0209 ; undefined
6c: 00000000 udf #0
70: db030000 .inst 0xdb030000 ; undefined
74: 02210100 .inst 0x02210100 ; undefined
78: 01010001 .inst 0x01010001 ; undefined
7c: 0000005e udf #94
80: 00300003 .inst 0x00300003 ; NYI
84: 01040000 .inst 0x01040000 ; undefined
88: 000d0efb .inst 0x000d0efb ; undefined
8c: 01010101 .inst 0x01010101 ; undefined
90: 01000000 .inst 0x01000000 ; undefined
94: 2e010000 ext v0.8b, v0.8b, v1.8b, #0
98: 79732f2e ldrh w14, [x25, #6550]
9c: 70656473 adr x19, cad2b <__TMC_END__+0xb9d03>
a0: 61612f73 .inst 0x61612f73 ; undefined
a4: 36686372 tbz w18, #13, d10 <__FRAME_END__+0x518>
a8: 63000034 .inst 0x63000034 ; undefined
ac: 2e6e7472 uabd v18.4h, v3.4h, v14.4h
b0: 00010053 .inst 0x00010053 ; undefined
b4: 09000000 .inst 0x09000000 ; undefined
b8: 00053402 .inst 0x00053402 ; undefined
bc: 00000000 udf #0
c0: 01280300 .inst 0x01280300 ; undefined
c4: 00010221 .inst 0x00010221 ; undefined
c8: 09000101 .inst 0x09000101 ; undefined
cc: 0006e402 .inst 0x0006e402 ; undefined
d0: 00000000 udf #0
d4: 012c0300 .inst 0x012c0300 ; undefined
d8: 00010221 .inst 0x00010221 ; undefined
dc: Address 0x00000000000000dc is out of bounds.
Disassembly of section .debug_str:
0000000000000000 <.debug_str>:
0: 732f2e2e .inst 0x732f2e2e ; undefined
4: 65647379 fnmls z25.h, p4/m, z27.h, z4.h
8: 612f7370 .inst 0x612f7370 ; undefined
c: 68637261 .inst 0x68637261 ; undefined
10: 632f3436 .inst 0x632f3436 ; undefined
14: 2e697472 uabd v18.4h, v3.4h, v9.4h
18: 642f0053 fmla z19.h, z2.h, z7.h[1]
1c: 6c657665 ldnp d5, d29, [x19, #-432]
20: 656d706f fnmls z15.h, p4/m, z3.h, z13.h
24: 612f746e .inst 0x612f746e ; undefined
28: 742d6562 .inst 0x742d6562 ; undefined
2c: 636c6f6f .inst 0x636c6f6f ; undefined
30: 6e696168 rsubhn2 v8.8h, v11.4s, v9.4s
34: 6975622d ldpsw x13, x24, [x17, #-88]
38: 742f646c .inst 0x742f646c ; undefined
3c: 61627261 .inst 0x61627261 ; undefined
40: 2f736c6c .inst 0x2f736c6c ; undefined
44: 62696c67 .inst 0x62696c67 ; undefined
48: 69672e63 ldpsw x3, x11, [x19, #-200]
4c: 725f7e74 .inst 0x725f7e74 ; undefined
50: 365f7665 tbz w5, #11, ffffffffffffef1c <__TMC_END__+0xfffffffffffedef4>
54: 35343366 cbnz w6, 686c0 <__TMC_END__+0x57698>
58: 38396639 .inst 0x38396639 ; undefined
5c: 37613935 tbnz w21, #12, 2780 <__FRAME_END__+0x1f88>
60: 36303562 tbz w2, #6, 70c <__GNU_EH_FRAME_HDR>
64: 66343663 .inst 0x66343663 ; undefined
68: 32383161 orr w1, w11, #0x1fff00
6c: 39363733 strb w19, [x25, #3469]
70: 33366261 .inst 0x33366261 ; undefined
74: 32373031 orr w17, w1, #0x3ffe00
78: 2f653663 .inst 0x2f653663 ; undefined
7c: 00757363 .inst 0x00757363 ; undefined
80: 20554e47 .inst 0x20554e47 ; undefined
84: 32205341 orr w1, w26, #0x1fffff
88: 0035332e .inst 0x0035332e ; NYI
8c: 732f2e2e .inst 0x732f2e2e ; undefined
90: 65647379 fnmls z25.h, p4/m, z27.h, z4.h
94: 612f7370 .inst 0x612f7370 ; undefined
98: 68637261 .inst 0x68637261 ; undefined
9c: 632f3436 .inst 0x632f3436 ; undefined
a0: 2e6e7472 uabd v18.4h, v3.4h, v14.4h
a4: Address 0x00000000000000a4 is out of bounds.
Disassembly of section .debug_ranges:
0000000000000000 <.debug_ranges>:
0: ffffffff .inst 0xffffffff ; undefined
4: ffffffff .inst 0xffffffff ; undefined
...
10: 00000590 udf #1424
14: 00000000 udf #0
18: 000005a4 udf #1444
1c: 00000000 udf #0
20: 00000528 udf #1320
24: 00000000 udf #0
28: 00000534 udf #1332
2c: 00000000 udf #0
30: 000006dc udf #1756
34: 00000000 udf #0
38: 000006e4 udf #1764
...
50: ffffffff .inst 0xffffffff ; undefined
54: ffffffff .inst 0xffffffff ; undefined
...
60: 00000534 udf #1332
64: 00000000 udf #0
68: 0000053c udf #1340
6c: 00000000 udf #0
70: 000006e4 udf #1764
74: 00000000 udf #0
78: 000006ec udf #1772
...