Last active
September 16, 2022 20:12
-
-
Save jonathanlking/69f0c225846ee0c8ac3f75547ebbf839 to your computer and use it in GitHub Desktop.
Output from running `objdump --disassemble x86_64cpuid.o` and `readelf -a x86_64cpuid.o`
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: REL (Relocatable file) | |
Machine: Advanced Micro Devices X86-64 | |
Version: 0x1 | |
Entry point address: 0x0 | |
Start of program headers: 0 (bytes into file) | |
Start of section headers: 3664 (bytes into file) | |
Flags: 0x0 | |
Size of this header: 64 (bytes) | |
Size of program headers: 0 (bytes) | |
Number of program headers: 0 | |
Size of section headers: 64 (bytes) | |
Number of section headers: 22 | |
Section header string table index: 21 | |
Section Headers: | |
[Nr] Name Type Address Offset | |
Size EntSize Flags Link Info Align | |
[ 0] NULL 0000000000000000 00000000 | |
0000000000000000 0000000000000000 0 0 0 | |
[ 1] .text PROGBITS 0000000000000000 00000040 | |
00000000000004b8 0000000000000000 AX 0 0 16 | |
[ 2] .data PROGBITS 0000000000000000 000004f8 | |
0000000000000000 0000000000000000 WA 0 0 1 | |
[ 3] .bss NOBITS 0000000000000000 000004f8 | |
0000000000000000 0000000000000000 WA 0 0 1 | |
[ 4] .init PROGBITS 0000000000000000 000004f8 | |
0000000000000005 0000000000000000 AX 0 0 1 | |
[ 5] .rela.init RELA 0000000000000000 00000b28 | |
0000000000000018 0000000000000018 I 19 4 8 | |
[ 6] .note.GNU-stack PROGBITS 0000000000000000 000004fd | |
0000000000000000 0000000000000000 0 0 1 | |
[ 7] .debug_line PROGBITS 0000000000000000 000004fd | |
0000000000000120 0000000000000000 C 0 0 1 | |
[ 8] .rela.debug_line RELA 0000000000000000 00000b40 | |
0000000000000030 0000000000000018 I 19 7 8 | |
[ 9] .debug_info PROGBITS 0000000000000000 0000061d | |
0000000000000022 0000000000000000 0 0 1 | |
[10] .rela.debug_info RELA 0000000000000000 00000b70 | |
0000000000000090 0000000000000018 I 19 9 8 | |
[11] .debug_abbrev PROGBITS 0000000000000000 0000063f | |
0000000000000012 0000000000000000 0 0 1 | |
[12] .debug_aranges PROGBITS 0000000000000000 00000660 | |
0000000000000033 0000000000000000 C 0 0 16 | |
[13] .rela.debug_arang RELA 0000000000000000 00000c00 | |
0000000000000048 0000000000000018 I 19 12 8 | |
[14] .debug_str PROGBITS 0000000000000000 00000693 | |
0000000000000039 0000000000000001 MS 0 0 1 | |
[15] .debug_ranges PROGBITS 0000000000000000 000006d0 | |
0000000000000026 0000000000000000 C 0 0 16 | |
[16] .rela.debug_range RELA 0000000000000000 00000c48 | |
0000000000000060 0000000000000018 I 19 15 8 | |
[17] .eh_frame PROGBITS 0000000000000000 000006f8 | |
00000000000000e8 0000000000000000 A 0 0 8 | |
[18] .rela.eh_frame RELA 0000000000000000 00000ca8 | |
00000000000000f0 0000000000000018 I 19 17 8 | |
[19] .symtab SYMTAB 0000000000000000 000007e0 | |
0000000000000258 0000000000000018 20 13 8 | |
[20] .strtab STRTAB 0000000000000000 00000a38 | |
00000000000000ed 0000000000000000 0 0 1 | |
[21] .shstrtab STRTAB 0000000000000000 00000d98 | |
00000000000000b8 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), | |
l (large), p (processor specific) | |
There are no section groups in this file. | |
There are no program headers in this file. | |
There is no dynamic section in this file. | |
Relocation section '.rela.init' at offset 0xb28 contains 1 entry: | |
Offset Info Type Sym. Value Sym. Name + Addend | |
000000000001 000d00000004 R_X86_64_PLT32 0000000000000000 OPENSSL_cpuid_setup - 4 | |
Relocation section '.rela.debug_line' at offset 0xb40 contains 2 entries: | |
Offset Info Type Sym. Value Sym. Name + Addend | |
000000000038 000400000001 R_X86_64_64 0000000000000000 .init + 0 | |
000000000049 000100000001 R_X86_64_64 0000000000000000 .text + 0 | |
Relocation section '.rela.debug_info' at offset 0xb70 contains 6 entries: | |
Offset Info Type Sym. Value Sym. Name + Addend | |
000000000006 00060000000a R_X86_64_32 0000000000000000 .debug_abbrev + 0 | |
00000000000c 00070000000a R_X86_64_32 0000000000000000 .debug_line + 0 | |
000000000010 00080000000a R_X86_64_32 0000000000000000 .debug_ranges + 0 | |
000000000014 00090000000a R_X86_64_32 0000000000000000 .debug_str + 0 | |
000000000018 00090000000a R_X86_64_32 0000000000000000 .debug_str + 15 | |
00000000001c 00090000000a R_X86_64_32 0000000000000000 .debug_str + 2b | |
Relocation section '.rela.debug_aranges' at offset 0xc00 contains 3 entries: | |
Offset Info Type Sym. Value Sym. Name + Addend | |
000000000006 00050000000a R_X86_64_32 0000000000000000 .debug_info + 0 | |
000000000010 000400000001 R_X86_64_64 0000000000000000 .init + 0 | |
000000000020 000100000001 R_X86_64_64 0000000000000000 .text + 0 | |
Relocation section '.rela.debug_ranges' at offset 0xc48 contains 4 entries: | |
Offset Info Type Sym. Value Sym. Name + Addend | |
000000000010 000400000001 R_X86_64_64 0000000000000000 .init + 0 | |
000000000018 000400000001 R_X86_64_64 0000000000000000 .init + 5 | |
000000000020 000100000001 R_X86_64_64 0000000000000000 .text + 0 | |
000000000028 000100000001 R_X86_64_64 0000000000000000 .text + 4b8 | |
Relocation section '.rela.eh_frame' at offset 0xca8 contains 10 entries: | |
Offset Info Type Sym. Value Sym. Name + Addend | |
000000000020 000100000002 R_X86_64_PC32 0000000000000000 .text + 0 | |
000000000034 000100000002 R_X86_64_PC32 0000000000000000 .text + 20 | |
000000000048 000100000002 R_X86_64_PC32 0000000000000000 .text + 30 | |
000000000064 000100000002 R_X86_64_PC32 0000000000000000 .text + 220 | |
000000000078 000100000002 R_X86_64_PC32 0000000000000000 .text + 280 | |
00000000008c 000100000002 R_X86_64_PC32 0000000000000000 .text + 2d0 | |
0000000000a0 000100000002 R_X86_64_PC32 0000000000000000 .text + 340 | |
0000000000b4 000100000002 R_X86_64_PC32 0000000000000000 .text + 390 | |
0000000000c8 000100000002 R_X86_64_PC32 0000000000000000 .text + 400 | |
0000000000dc 000100000002 R_X86_64_PC32 0000000000000000 .text + 460 | |
The decoding of unwind sections for machine type Advanced Micro Devices X86-64 is not currently supported. | |
Symbol table '.symtab' contains 25 entries: | |
Num: Value Size Type Bind Vis Ndx Name | |
0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND | |
1: 0000000000000000 0 SECTION LOCAL DEFAULT 1 | |
2: 0000000000000000 0 SECTION LOCAL DEFAULT 2 | |
3: 0000000000000000 0 SECTION LOCAL DEFAULT 3 | |
4: 0000000000000000 0 SECTION LOCAL DEFAULT 4 | |
5: 0000000000000000 0 SECTION LOCAL DEFAULT 9 | |
6: 0000000000000000 0 SECTION LOCAL DEFAULT 11 | |
7: 0000000000000000 0 SECTION LOCAL DEFAULT 7 | |
8: 0000000000000000 0 SECTION LOCAL DEFAULT 15 | |
9: 0000000000000000 0 SECTION LOCAL DEFAULT 14 | |
10: 0000000000000000 0 SECTION LOCAL DEFAULT 12 | |
11: 0000000000000000 0 SECTION LOCAL DEFAULT 17 | |
12: 0000000000000000 0 SECTION LOCAL DEFAULT 6 | |
13: 0000000000000000 0 NOTYPE GLOBAL HIDDEN UND OPENSSL_cpuid_setup | |
14: 0000000000000004 16 OBJECT GLOBAL HIDDEN COM OPENSSL_ia32cap_P | |
15: 0000000000000000 20 FUNC GLOBAL DEFAULT 1 OPENSSL_atomic_add | |
16: 0000000000000020 11 FUNC GLOBAL DEFAULT 1 OPENSSL_rdtsc | |
17: 0000000000000030 487 FUNC GLOBAL DEFAULT 1 OPENSSL_ia32_cpuid | |
18: 0000000000000220 81 FUNC GLOBAL DEFAULT 1 OPENSSL_cleanse | |
19: 0000000000000280 79 FUNC GLOBAL DEFAULT 1 CRYPTO_memcmp | |
20: 00000000000002d0 103 FUNC GLOBAL DEFAULT 1 OPENSSL_wipe_cpu | |
21: 0000000000000340 68 FUNC GLOBAL DEFAULT 1 OPENSSL_instrument_bus | |
22: 0000000000000390 103 FUNC GLOBAL DEFAULT 1 OPENSSL_instrument_bus2 | |
23: 0000000000000400 88 FUNC GLOBAL DEFAULT 1 OPENSSL_ia32_rdrand_bytes | |
24: 0000000000000460 88 FUNC GLOBAL DEFAULT 1 OPENSSL_ia32_rdseed_bytes | |
No version information found in this file. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
x86_64cpuid.o: file format elf64-x86-64 | |
Disassembly of section .text: | |
0000000000000000 <OPENSSL_atomic_add>: | |
0: 8b 07 mov (%rdi),%eax | |
2: 4c 8d 04 06 lea (%rsi,%rax,1),%r8 | |
6: f0 44 0f b1 07 lock cmpxchg %r8d,(%rdi) | |
b: 75 f5 jne 2 <OPENSSL_atomic_add+0x2> | |
d: 44 89 c0 mov %r8d,%eax | |
10: 48 98 cltq | |
12: f3 c3 repz retq | |
14: 66 66 2e 0f 1f 84 00 data16 nopw %cs:0x0(%rax,%rax,1) | |
1b: 00 00 00 00 | |
1f: 90 nop | |
0000000000000020 <OPENSSL_rdtsc>: | |
20: 0f 31 rdtsc | |
22: 48 c1 e2 20 shl $0x20,%rdx | |
26: 48 09 d0 or %rdx,%rax | |
29: f3 c3 repz retq | |
2b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) | |
0000000000000030 <OPENSSL_ia32_cpuid>: | |
30: 49 89 d8 mov %rbx,%r8 | |
33: 31 c0 xor %eax,%eax | |
35: 48 89 47 08 mov %rax,0x8(%rdi) | |
39: 0f a2 cpuid | |
3b: 41 89 c3 mov %eax,%r11d | |
3e: 31 c0 xor %eax,%eax | |
40: 81 fb 47 65 6e 75 cmp $0x756e6547,%ebx | |
46: 0f 95 c0 setne %al | |
49: 41 89 c1 mov %eax,%r9d | |
4c: 81 fa 69 6e 65 49 cmp $0x49656e69,%edx | |
52: 0f 95 c0 setne %al | |
55: 41 09 c1 or %eax,%r9d | |
58: 81 f9 6e 74 65 6c cmp $0x6c65746e,%ecx | |
5e: 0f 95 c0 setne %al | |
61: 41 09 c1 or %eax,%r9d | |
64: 0f 84 87 00 00 00 je f1 <OPENSSL_ia32_cpuid+0xc1> | |
6a: 81 fb 41 75 74 68 cmp $0x68747541,%ebx | |
70: 0f 95 c0 setne %al | |
73: 41 89 c2 mov %eax,%r10d | |
76: 81 fa 65 6e 74 69 cmp $0x69746e65,%edx | |
7c: 0f 95 c0 setne %al | |
7f: 41 09 c2 or %eax,%r10d | |
82: 81 f9 63 41 4d 44 cmp $0x444d4163,%ecx | |
88: 0f 95 c0 setne %al | |
8b: 41 09 c2 or %eax,%r10d | |
8e: 75 61 jne f1 <OPENSSL_ia32_cpuid+0xc1> | |
90: b8 00 00 00 80 mov $0x80000000,%eax | |
95: 0f a2 cpuid | |
97: 3d 01 00 00 80 cmp $0x80000001,%eax | |
9c: 72 53 jb f1 <OPENSSL_ia32_cpuid+0xc1> | |
9e: 41 89 c2 mov %eax,%r10d | |
a1: b8 01 00 00 80 mov $0x80000001,%eax | |
a6: 0f a2 cpuid | |
a8: 41 09 c9 or %ecx,%r9d | |
ab: 41 81 e1 01 08 00 00 and $0x801,%r9d | |
b2: 41 81 fa 08 00 00 80 cmp $0x80000008,%r10d | |
b9: 72 36 jb f1 <OPENSSL_ia32_cpuid+0xc1> | |
bb: b8 08 00 00 80 mov $0x80000008,%eax | |
c0: 0f a2 cpuid | |
c2: 4c 0f b6 d1 movzbq %cl,%r10 | |
c6: 49 ff c2 inc %r10 | |
c9: b8 01 00 00 00 mov $0x1,%eax | |
ce: 0f a2 cpuid | |
d0: 0f ba e2 1c bt $0x1c,%edx | |
d4: 0f 83 ac 00 00 00 jae 186 <OPENSSL_ia32_cpuid+0x156> | |
da: c1 eb 10 shr $0x10,%ebx | |
dd: 44 38 d3 cmp %r10b,%bl | |
e0: 0f 87 a0 00 00 00 ja 186 <OPENSSL_ia32_cpuid+0x156> | |
e6: 81 e2 ff ff ff ef and $0xefffffff,%edx | |
ec: e9 95 00 00 00 jmpq 186 <OPENSSL_ia32_cpuid+0x156> | |
f1: 41 83 fb 04 cmp $0x4,%r11d | |
f5: 41 ba ff ff ff ff mov $0xffffffff,%r10d | |
fb: 72 1a jb 117 <OPENSSL_ia32_cpuid+0xe7> | |
fd: b8 04 00 00 00 mov $0x4,%eax | |
102: b9 00 00 00 00 mov $0x0,%ecx | |
107: 0f a2 cpuid | |
109: 41 89 c2 mov %eax,%r10d | |
10c: 41 c1 ea 0e shr $0xe,%r10d | |
110: 41 81 e2 ff 0f 00 00 and $0xfff,%r10d | |
117: b8 01 00 00 00 mov $0x1,%eax | |
11c: 0f a2 cpuid | |
11e: 66 0f 6e c0 movd %eax,%xmm0 | |
122: 81 e2 ff ff ef bf and $0xbfefffff,%edx | |
128: 41 83 f9 00 cmp $0x0,%r9d | |
12c: 75 32 jne 160 <OPENSSL_ia32_cpuid+0x130> | |
12e: 81 ca 00 00 00 40 or $0x40000000,%edx | |
134: 80 e4 0f and $0xf,%ah | |
137: 80 fc 0f cmp $0xf,%ah | |
13a: 75 06 jne 142 <OPENSSL_ia32_cpuid+0x112> | |
13c: 81 ca 00 00 10 00 or $0x100000,%edx | |
142: 80 fc 06 cmp $0x6,%ah | |
145: 75 19 jne 160 <OPENSSL_ia32_cpuid+0x130> | |
147: 25 f0 0f ff 0f and $0xfff0ff0,%eax | |
14c: 3d 70 06 05 00 cmp $0x50670,%eax | |
151: 74 07 je 15a <OPENSSL_ia32_cpuid+0x12a> | |
153: 3d 50 06 08 00 cmp $0x80650,%eax | |
158: 75 06 jne 160 <OPENSSL_ia32_cpuid+0x130> | |
15a: 81 e1 ff ff ff fb and $0xfbffffff,%ecx | |
160: 0f ba e2 1c bt $0x1c,%edx | |
164: 73 20 jae 186 <OPENSSL_ia32_cpuid+0x156> | |
166: 81 e2 ff ff ff ef and $0xefffffff,%edx | |
16c: 41 83 fa 00 cmp $0x0,%r10d | |
170: 74 14 je 186 <OPENSSL_ia32_cpuid+0x156> | |
172: 81 ca 00 00 00 10 or $0x10000000,%edx | |
178: c1 eb 10 shr $0x10,%ebx | |
17b: 80 fb 01 cmp $0x1,%bl | |
17e: 77 06 ja 186 <OPENSSL_ia32_cpuid+0x156> | |
180: 81 e2 ff ff ff ef and $0xefffffff,%edx | |
186: 41 81 e1 00 08 00 00 and $0x800,%r9d | |
18d: 81 e1 ff f7 ff ff and $0xfffff7ff,%ecx | |
193: 41 09 c9 or %ecx,%r9d | |
196: 41 89 d2 mov %edx,%r10d | |
199: 41 83 fb 07 cmp $0x7,%r11d | |
19d: 72 32 jb 1d1 <OPENSSL_ia32_cpuid+0x1a1> | |
19f: b8 07 00 00 00 mov $0x7,%eax | |
1a4: 31 c9 xor %ecx,%ecx | |
1a6: 0f a2 cpuid | |
1a8: 41 0f ba e1 1a bt $0x1a,%r9d | |
1ad: 72 06 jb 1b5 <OPENSSL_ia32_cpuid+0x185> | |
1af: 81 e3 ff ff f7 ff and $0xfff7ffff,%ebx | |
1b5: 66 0f 7e c0 movd %xmm0,%eax | |
1b9: 25 f0 0f ff 0f and $0xfff0ff0,%eax | |
1be: 3d 50 06 05 00 cmp $0x50650,%eax | |
1c3: 75 06 jne 1cb <OPENSSL_ia32_cpuid+0x19b> | |
1c5: 81 e3 ff ff fe ff and $0xfffeffff,%ebx | |
1cb: 89 5f 08 mov %ebx,0x8(%rdi) | |
1ce: 89 4f 0c mov %ecx,0xc(%rdi) | |
1d1: 41 0f ba e1 1b bt $0x1b,%r9d | |
1d6: 73 20 jae 1f8 <OPENSSL_ia32_cpuid+0x1c8> | |
1d8: 31 c9 xor %ecx,%ecx | |
1da: 0f 01 d0 xgetbv | |
1dd: 25 e6 00 00 00 and $0xe6,%eax | |
1e2: 3d e6 00 00 00 cmp $0xe6,%eax | |
1e7: 74 1f je 208 <OPENSSL_ia32_cpuid+0x1d8> | |
1e9: 81 67 08 ff ff de 3f andl $0x3fdeffff,0x8(%rdi) | |
1f0: 83 e0 06 and $0x6,%eax | |
1f3: 83 f8 06 cmp $0x6,%eax | |
1f6: 74 10 je 208 <OPENSSL_ia32_cpuid+0x1d8> | |
1f8: b8 ff e7 ff ef mov $0xefffe7ff,%eax | |
1fd: 41 21 c1 and %eax,%r9d | |
200: b8 df ff de 3f mov $0x3fdeffdf,%eax | |
205: 21 47 08 and %eax,0x8(%rdi) | |
208: 49 c1 e1 20 shl $0x20,%r9 | |
20c: 44 89 d0 mov %r10d,%eax | |
20f: 4c 89 c3 mov %r8,%rbx | |
212: 4c 09 c8 or %r9,%rax | |
215: f3 c3 repz retq | |
217: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1) | |
21e: 00 00 | |
0000000000000220 <OPENSSL_cleanse>: | |
220: 48 31 c0 xor %rax,%rax | |
223: 48 83 fe 0f cmp $0xf,%rsi | |
227: 73 17 jae 240 <OPENSSL_cleanse+0x20> | |
229: 48 83 fe 00 cmp $0x0,%rsi | |
22d: 74 0c je 23b <OPENSSL_cleanse+0x1b> | |
22f: 88 07 mov %al,(%rdi) | |
231: 48 83 ee 01 sub $0x1,%rsi | |
235: 48 8d 7f 01 lea 0x1(%rdi),%rdi | |
239: 75 f4 jne 22f <OPENSSL_cleanse+0xf> | |
23b: f3 c3 repz retq | |
23d: 0f 1f 00 nopl (%rax) | |
240: 48 f7 c7 07 00 00 00 test $0x7,%rdi | |
247: 74 0c je 255 <OPENSSL_cleanse+0x35> | |
249: 88 07 mov %al,(%rdi) | |
24b: 48 8d 76 ff lea -0x1(%rsi),%rsi | |
24f: 48 8d 7f 01 lea 0x1(%rdi),%rdi | |
253: eb eb jmp 240 <OPENSSL_cleanse+0x20> | |
255: 48 89 07 mov %rax,(%rdi) | |
258: 48 8d 76 f8 lea -0x8(%rsi),%rsi | |
25c: 48 f7 c6 f8 ff ff ff test $0xfffffffffffffff8,%rsi | |
263: 48 8d 7f 08 lea 0x8(%rdi),%rdi | |
267: 75 ec jne 255 <OPENSSL_cleanse+0x35> | |
269: 48 83 fe 00 cmp $0x0,%rsi | |
26d: 75 c0 jne 22f <OPENSSL_cleanse+0xf> | |
26f: f3 c3 repz retq | |
271: 66 66 2e 0f 1f 84 00 data16 nopw %cs:0x0(%rax,%rax,1) | |
278: 00 00 00 00 | |
27c: 0f 1f 40 00 nopl 0x0(%rax) | |
0000000000000280 <CRYPTO_memcmp>: | |
280: 48 31 c0 xor %rax,%rax | |
283: 4d 31 d2 xor %r10,%r10 | |
286: 48 83 fa 00 cmp $0x0,%rdx | |
28a: 74 41 je 2cd <CRYPTO_memcmp+0x4d> | |
28c: 48 83 fa 10 cmp $0x10,%rdx | |
290: 75 1e jne 2b0 <CRYPTO_memcmp+0x30> | |
292: 4c 8b 17 mov (%rdi),%r10 | |
295: 4c 8b 5f 08 mov 0x8(%rdi),%r11 | |
299: 48 c7 c2 01 00 00 00 mov $0x1,%rdx | |
2a0: 4c 33 16 xor (%rsi),%r10 | |
2a3: 4c 33 5e 08 xor 0x8(%rsi),%r11 | |
2a7: 4d 09 da or %r11,%r10 | |
2aa: 48 0f 45 c2 cmovne %rdx,%rax | |
2ae: f3 c3 repz retq | |
2b0: 44 8a 17 mov (%rdi),%r10b | |
2b3: 48 8d 7f 01 lea 0x1(%rdi),%rdi | |
2b7: 44 32 16 xor (%rsi),%r10b | |
2ba: 48 8d 76 01 lea 0x1(%rsi),%rsi | |
2be: 44 08 d0 or %r10b,%al | |
2c1: 48 ff ca dec %rdx | |
2c4: 75 ea jne 2b0 <CRYPTO_memcmp+0x30> | |
2c6: 48 f7 d8 neg %rax | |
2c9: 48 c1 e8 3f shr $0x3f,%rax | |
2cd: f3 c3 repz retq | |
2cf: 90 nop | |
00000000000002d0 <OPENSSL_wipe_cpu>: | |
2d0: 66 0f ef c0 pxor %xmm0,%xmm0 | |
2d4: 66 0f ef c9 pxor %xmm1,%xmm1 | |
2d8: 66 0f ef d2 pxor %xmm2,%xmm2 | |
2dc: 66 0f ef db pxor %xmm3,%xmm3 | |
2e0: 66 0f ef e4 pxor %xmm4,%xmm4 | |
2e4: 66 0f ef ed pxor %xmm5,%xmm5 | |
2e8: 66 0f ef f6 pxor %xmm6,%xmm6 | |
2ec: 66 0f ef ff pxor %xmm7,%xmm7 | |
2f0: 66 45 0f ef c0 pxor %xmm8,%xmm8 | |
2f5: 66 45 0f ef c9 pxor %xmm9,%xmm9 | |
2fa: 66 45 0f ef d2 pxor %xmm10,%xmm10 | |
2ff: 66 45 0f ef db pxor %xmm11,%xmm11 | |
304: 66 45 0f ef e4 pxor %xmm12,%xmm12 | |
309: 66 45 0f ef ed pxor %xmm13,%xmm13 | |
30e: 66 45 0f ef f6 pxor %xmm14,%xmm14 | |
313: 66 45 0f ef ff pxor %xmm15,%xmm15 | |
318: 48 31 c9 xor %rcx,%rcx | |
31b: 48 31 d2 xor %rdx,%rdx | |
31e: 48 31 f6 xor %rsi,%rsi | |
321: 48 31 ff xor %rdi,%rdi | |
324: 4d 31 c0 xor %r8,%r8 | |
327: 4d 31 c9 xor %r9,%r9 | |
32a: 4d 31 d2 xor %r10,%r10 | |
32d: 4d 31 db xor %r11,%r11 | |
330: 48 8d 44 24 08 lea 0x8(%rsp),%rax | |
335: f3 c3 repz retq | |
337: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1) | |
33e: 00 00 | |
0000000000000340 <OPENSSL_instrument_bus>: | |
340: 49 89 fa mov %rdi,%r10 | |
343: 48 89 f1 mov %rsi,%rcx | |
346: 49 89 f3 mov %rsi,%r11 | |
349: 0f 31 rdtsc | |
34b: 41 89 c0 mov %eax,%r8d | |
34e: 41 b9 00 00 00 00 mov $0x0,%r9d | |
354: 41 0f ae 3a clflush (%r10) | |
358: f0 45 01 0a lock add %r9d,(%r10) | |
35c: eb 02 jmp 360 <OPENSSL_instrument_bus+0x20> | |
35e: 66 90 xchg %ax,%ax | |
360: 0f 31 rdtsc | |
362: 89 c2 mov %eax,%edx | |
364: 44 29 c0 sub %r8d,%eax | |
367: 41 89 d0 mov %edx,%r8d | |
36a: 41 89 c1 mov %eax,%r9d | |
36d: 41 0f ae 3a clflush (%r10) | |
371: f0 41 01 02 lock add %eax,(%r10) | |
375: 4d 8d 52 04 lea 0x4(%r10),%r10 | |
379: 48 83 e9 01 sub $0x1,%rcx | |
37d: 75 e1 jne 360 <OPENSSL_instrument_bus+0x20> | |
37f: 4c 89 d8 mov %r11,%rax | |
382: f3 c3 repz retq | |
384: 66 66 2e 0f 1f 84 00 data16 nopw %cs:0x0(%rax,%rax,1) | |
38b: 00 00 00 00 | |
38f: 90 nop | |
0000000000000390 <OPENSSL_instrument_bus2>: | |
390: 49 89 fa mov %rdi,%r10 | |
393: 48 89 f1 mov %rsi,%rcx | |
396: 49 89 d3 mov %rdx,%r11 | |
399: 48 89 4c 24 08 mov %rcx,0x8(%rsp) | |
39e: 0f 31 rdtsc | |
3a0: 41 89 c0 mov %eax,%r8d | |
3a3: 41 b9 00 00 00 00 mov $0x0,%r9d | |
3a9: 41 0f ae 3a clflush (%r10) | |
3ad: f0 45 01 0a lock add %r9d,(%r10) | |
3b1: 0f 31 rdtsc | |
3b3: 89 c2 mov %eax,%edx | |
3b5: 44 29 c0 sub %r8d,%eax | |
3b8: 41 89 d0 mov %edx,%r8d | |
3bb: 41 89 c1 mov %eax,%r9d | |
3be: 41 0f ae 3a clflush (%r10) | |
3c2: f0 41 01 02 lock add %eax,(%r10) | |
3c6: 49 83 eb 01 sub $0x1,%r11 | |
3ca: 74 21 je 3ed <OPENSSL_instrument_bus2+0x5d> | |
3cc: 0f 31 rdtsc | |
3ce: 89 c2 mov %eax,%edx | |
3d0: 44 29 c0 sub %r8d,%eax | |
3d3: 41 89 d0 mov %edx,%r8d | |
3d6: 44 39 c8 cmp %r9d,%eax | |
3d9: 41 89 c1 mov %eax,%r9d | |
3dc: ba 00 00 00 00 mov $0x0,%edx | |
3e1: 0f 95 c2 setne %dl | |
3e4: 48 29 d1 sub %rdx,%rcx | |
3e7: 4d 8d 14 92 lea (%r10,%rdx,4),%r10 | |
3eb: 75 d1 jne 3be <OPENSSL_instrument_bus2+0x2e> | |
3ed: 48 8b 44 24 08 mov 0x8(%rsp),%rax | |
3f2: 48 29 c8 sub %rcx,%rax | |
3f5: f3 c3 repz retq | |
3f7: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1) | |
3fe: 00 00 | |
0000000000000400 <OPENSSL_ia32_rdrand_bytes>: | |
400: 48 31 c0 xor %rax,%rax | |
403: 48 83 fe 00 cmp $0x0,%rsi | |
407: 74 4a je 453 <OPENSSL_ia32_rdrand_bytes+0x53> | |
409: 49 c7 c3 08 00 00 00 mov $0x8,%r11 | |
410: 49 0f c7 f2 rdrand %r10 | |
414: 72 0a jb 420 <OPENSSL_ia32_rdrand_bytes+0x20> | |
416: 49 ff cb dec %r11 | |
419: 75 f5 jne 410 <OPENSSL_ia32_rdrand_bytes+0x10> | |
41b: eb 36 jmp 453 <OPENSSL_ia32_rdrand_bytes+0x53> | |
41d: 0f 1f 00 nopl (%rax) | |
420: 48 83 fe 08 cmp $0x8,%rsi | |
424: 72 1a jb 440 <OPENSSL_ia32_rdrand_bytes+0x40> | |
426: 4c 89 17 mov %r10,(%rdi) | |
429: 48 8d 7f 08 lea 0x8(%rdi),%rdi | |
42d: 48 83 c0 08 add $0x8,%rax | |
431: 48 83 ee 08 sub $0x8,%rsi | |
435: 74 1c je 453 <OPENSSL_ia32_rdrand_bytes+0x53> | |
437: 49 c7 c3 08 00 00 00 mov $0x8,%r11 | |
43e: eb d0 jmp 410 <OPENSSL_ia32_rdrand_bytes+0x10> | |
440: 44 88 17 mov %r10b,(%rdi) | |
443: 48 8d 7f 01 lea 0x1(%rdi),%rdi | |
447: 48 ff c0 inc %rax | |
44a: 49 c1 ea 08 shr $0x8,%r10 | |
44e: 48 ff ce dec %rsi | |
451: 75 ed jne 440 <OPENSSL_ia32_rdrand_bytes+0x40> | |
453: 4d 31 d2 xor %r10,%r10 | |
456: f3 c3 repz retq | |
458: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1) | |
45f: 00 | |
0000000000000460 <OPENSSL_ia32_rdseed_bytes>: | |
460: 48 31 c0 xor %rax,%rax | |
463: 48 83 fe 00 cmp $0x0,%rsi | |
467: 74 4a je 4b3 <OPENSSL_ia32_rdseed_bytes+0x53> | |
469: 49 c7 c3 08 00 00 00 mov $0x8,%r11 | |
470: 49 0f c7 fa rdseed %r10 | |
474: 72 0a jb 480 <OPENSSL_ia32_rdseed_bytes+0x20> | |
476: 49 ff cb dec %r11 | |
479: 75 f5 jne 470 <OPENSSL_ia32_rdseed_bytes+0x10> | |
47b: eb 36 jmp 4b3 <OPENSSL_ia32_rdseed_bytes+0x53> | |
47d: 0f 1f 00 nopl (%rax) | |
480: 48 83 fe 08 cmp $0x8,%rsi | |
484: 72 1a jb 4a0 <OPENSSL_ia32_rdseed_bytes+0x40> | |
486: 4c 89 17 mov %r10,(%rdi) | |
489: 48 8d 7f 08 lea 0x8(%rdi),%rdi | |
48d: 48 83 c0 08 add $0x8,%rax | |
491: 48 83 ee 08 sub $0x8,%rsi | |
495: 74 1c je 4b3 <OPENSSL_ia32_rdseed_bytes+0x53> | |
497: 49 c7 c3 08 00 00 00 mov $0x8,%r11 | |
49e: eb d0 jmp 470 <OPENSSL_ia32_rdseed_bytes+0x10> | |
4a0: 44 88 17 mov %r10b,(%rdi) | |
4a3: 48 8d 7f 01 lea 0x1(%rdi),%rdi | |
4a7: 48 ff c0 inc %rax | |
4aa: 49 c1 ea 08 shr $0x8,%r10 | |
4ae: 48 ff ce dec %rsi | |
4b1: 75 ed jne 4a0 <OPENSSL_ia32_rdseed_bytes+0x40> | |
4b3: 4d 31 d2 xor %r10,%r10 | |
4b6: f3 c3 repz retq | |
Disassembly of section .init: | |
0000000000000000 <.init>: | |
0: e8 00 00 00 00 callq 5 <OPENSSL_atomic_add+0x5> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment