Skip to content

Instantly share code, notes, and snippets.

@avagin
Created June 18, 2019 22:42
Show Gist options
  • Save avagin/d5a184e476eff9fbcda169f7e5611abf to your computer and use it in GitHub Desktop.
Save avagin/d5a184e476eff9fbcda169f7e5611abf to your computer and use it in GitHub Desktop.
arch/x86/entry/vdso/vdso64.so: file format elf64-x86-64
Disassembly of section .text:
00000000000005e0 <__vdso_clock_gettime@@LINUX_2.6-0x140>:
5e0: 55 push %rbp
5e1: 48 63 ff movslq %edi,%rdi
5e4: 4c 8d 0d 95 ca ff ff lea -0x356b(%rip),%r9 # ffffffffffffd080 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffc870>
5eb: 4c 8d 47 02 lea 0x2(%rdi),%r8
5ef: 49 c1 e0 04 shl $0x4,%r8
5f3: 48 89 e5 mov %rsp,%rbp
5f6: 41 54 push %r12
5f8: 4d 01 c8 add %r9,%r8
5fb: 53 push %rbx
5fc: 45 8b 11 mov (%r9),%r10d
5ff: 41 f6 c2 01 test $0x1,%r10b
603: 0f 85 01 01 00 00 jne 70a <LINUX_2.6@@LINUX_2.6+0x70a>
609: 8b 05 75 ca ff ff mov -0x358b(%rip),%eax # ffffffffffffd084 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffc874>
60f: 83 f8 01 cmp $0x1,%eax
612: 74 11 je 625 <LINUX_2.6@@LINUX_2.6+0x625>
614: 83 f8 02 cmp $0x2,%eax
617: 74 7a je 693 <LINUX_2.6@@LINUX_2.6+0x693>
619: 5b pop %rbx
61a: b8 e4 00 00 00 mov $0xe4,%eax
61f: 41 5c pop %r12
621: 0f 05 syscall
623: 5d pop %rbp
624: c3 retq
625: 0f 31 rdtsc
627: 90 nop
628: 90 nop
629: 90 nop
62a: 48 c1 e2 20 shl $0x20,%rdx
62e: 48 09 c2 or %rax,%rdx
631: 49 8b 40 08 mov 0x8(%r8),%rax
635: 48 8b 0d 4c ca ff ff mov -0x35b4(%rip),%rcx # ffffffffffffd088 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffc878>
63c: 48 85 d2 test %rdx,%rdx
63f: 78 d8 js 619 <LINUX_2.6@@LINUX_2.6+0x619>
641: 48 39 d1 cmp %rdx,%rcx
644: 73 10 jae 656 <LINUX_2.6@@LINUX_2.6+0x656>
646: 48 29 ca sub %rcx,%rdx
649: 8b 0d 49 ca ff ff mov -0x35b7(%rip),%ecx # ffffffffffffd098 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffc888>
64f: 48 0f af d1 imul %rcx,%rdx
653: 48 01 d0 add %rdx,%rax
656: 8b 0d 40 ca ff ff mov -0x35c0(%rip),%ecx # ffffffffffffd09c <__vdso_getcpu@@LINUX_2.6+0xffffffffffffc88c>
65c: 4d 8b 18 mov (%r8),%r11
65f: 45 3b 11 cmp (%r9),%r10d
662: 75 98 jne 5fc <LINUX_2.6@@LINUX_2.6+0x5fc>
664: 48 d3 e8 shr %cl,%rax
667: 48 3d ff c9 9a 3b cmp $0x3b9ac9ff,%rax
66d: 76 16 jbe 685 <LINUX_2.6@@LINUX_2.6+0x685>
66f: 31 d2 xor %edx,%edx
671: 48 2d 00 ca 9a 3b sub $0x3b9aca00,%rax
677: 83 c2 01 add $0x1,%edx
67a: 48 3d ff c9 9a 3b cmp $0x3b9ac9ff,%rax
680: 77 ef ja 671 <LINUX_2.6@@LINUX_2.6+0x671>
682: 49 01 d3 add %rdx,%r11
685: 5b pop %rbx
686: 41 5c pop %r12
688: 48 89 46 08 mov %rax,0x8(%rsi)
68c: 31 c0 xor %eax,%eax
68e: 4c 89 1e mov %r11,(%rsi)
691: 5d pop %rbp
692: c3 retq
693: 8b 15 67 d9 ff ff mov -0x2699(%rip),%edx # ffffffffffffe000 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffd7f0>
699: 48 8d 1d 60 d9 ff ff lea -0x26a0(%rip),%rbx # ffffffffffffe000 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffd7f0>
6a0: 83 e2 fe and $0xfffffffe,%edx
6a3: 41 89 d3 mov %edx,%r11d
6a6: f6 05 70 d9 ff ff 01 testb $0x1,-0x2690(%rip) # ffffffffffffe01d <__vdso_getcpu@@LINUX_2.6+0xffffffffffffd80d>
6ad: 0f 84 66 ff ff ff je 619 <LINUX_2.6@@LINUX_2.6+0x619>
6b3: 0f 31 rdtsc
6b5: 90 nop
6b6: 90 nop
6b7: 90 nop
6b8: 48 c1 e2 20 shl $0x20,%rdx
6bc: 48 09 c2 or %rax,%rdx
6bf: 48 89 d0 mov %rdx,%rax
6c2: 0f be 15 53 d9 ff ff movsbl -0x26ad(%rip),%edx # ffffffffffffe01c <__vdso_getcpu@@LINUX_2.6+0xffffffffffffd80c>
6c9: 48 2b 05 38 d9 ff ff sub -0x26c8(%rip),%rax # ffffffffffffe008 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffd7f8>
6d0: 49 89 c4 mov %rax,%r12
6d3: 89 d1 mov %edx,%ecx
6d5: f7 d9 neg %ecx
6d7: 49 d3 ec shr %cl,%r12
6da: 89 d1 mov %edx,%ecx
6dc: 48 d3 e0 shl %cl,%rax
6df: 85 d2 test %edx,%edx
6e1: 48 8b 0d 28 d9 ff ff mov -0x26d8(%rip),%rcx # ffffffffffffe010 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffd800>
6e8: 8b 15 2a d9 ff ff mov -0x26d6(%rip),%edx # ffffffffffffe018 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffd808>
6ee: 49 0f 48 c4 cmovs %r12,%rax
6f2: 48 f7 e2 mul %rdx
6f5: 48 0f ac d0 20 shrd $0x20,%rdx,%rax
6fa: 8b 13 mov (%rbx),%edx
6fc: 41 39 d3 cmp %edx,%r11d
6ff: 75 9f jne 6a0 <LINUX_2.6@@LINUX_2.6+0x6a0>
701: 48 8d 14 08 lea (%rax,%rcx,1),%rdx
705: e9 27 ff ff ff jmpq 631 <LINUX_2.6@@LINUX_2.6+0x631>
70a: f3 90 pause
70c: e9 eb fe ff ff jmpq 5fc <LINUX_2.6@@LINUX_2.6+0x5fc>
711: 66 66 2e 0f 1f 84 00 data16 nopw %cs:0x0(%rax,%rax,1)
718: 00 00 00 00
71c: 0f 1f 40 00 nopl 0x0(%rax)
0000000000000720 <__vdso_clock_gettime@@LINUX_2.6>:
720: 55 push %rbp
721: 48 89 e5 mov %rsp,%rbp
724: 83 ff 0f cmp $0xf,%edi
727: 77 1a ja 743 <__vdso_clock_gettime@@LINUX_2.6+0x23>
729: b8 01 00 00 00 mov $0x1,%eax
72e: 89 f9 mov %edi,%ecx
730: d3 e0 shl %cl,%eax
732: a9 03 08 00 00 test $0x803,%eax
737: 74 06 je 73f <__vdso_clock_gettime@@LINUX_2.6+0x1f>
739: 5d pop %rbp
73a: e9 a1 fe ff ff jmpq 5e0 <LINUX_2.6@@LINUX_2.6+0x5e0>
73f: a8 60 test $0x60,%al
741: 75 0c jne 74f <__vdso_clock_gettime@@LINUX_2.6+0x2f>
743: 48 63 ff movslq %edi,%rdi
746: b8 e4 00 00 00 mov $0xe4,%eax
74b: 5d pop %rbp
74c: 0f 05 syscall
74e: c3 retq
74f: 48 63 c7 movslq %edi,%rax
752: 48 8d 15 27 c9 ff ff lea -0x36d9(%rip),%rdx # ffffffffffffd080 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffc870>
759: 48 83 c0 02 add $0x2,%rax
75d: 48 c1 e0 04 shl $0x4,%rax
761: 48 01 d0 add %rdx,%rax
764: 8b 0a mov (%rdx),%ecx
766: f6 c1 01 test $0x1,%cl
769: 75 16 jne 781 <__vdso_clock_gettime@@LINUX_2.6+0x61>
76b: 48 8b 38 mov (%rax),%rdi
76e: 48 89 3e mov %rdi,(%rsi)
771: 48 8b 78 08 mov 0x8(%rax),%rdi
775: 48 89 7e 08 mov %rdi,0x8(%rsi)
779: 3b 0a cmp (%rdx),%ecx
77b: 75 e7 jne 764 <__vdso_clock_gettime@@LINUX_2.6+0x44>
77d: 31 c0 xor %eax,%eax
77f: 5d pop %rbp
780: c3 retq
781: f3 90 pause
783: eb df jmp 764 <__vdso_clock_gettime@@LINUX_2.6+0x44>
785: 66 66 2e 0f 1f 84 00 data16 nopw %cs:0x0(%rax,%rax,1)
78c: 00 00 00 00
0000000000000790 <__vdso_gettimeofday@@LINUX_2.6>:
790: 55 push %rbp
791: 48 89 e5 mov %rsp,%rbp
794: 41 54 push %r12
796: 49 89 f4 mov %rsi,%r12
799: 53 push %rbx
79a: 48 85 ff test %rdi,%rdi
79d: 74 30 je 7cf <__vdso_gettimeofday@@LINUX_2.6+0x3f>
79f: 48 89 fb mov %rdi,%rbx
7a2: 48 89 fe mov %rdi,%rsi
7a5: 31 ff xor %edi,%edi
7a7: e8 34 fe ff ff callq 5e0 <LINUX_2.6@@LINUX_2.6+0x5e0>
7ac: 48 8b 4b 08 mov 0x8(%rbx),%rcx
7b0: 48 ba cf f7 53 e3 a5 movabs $0x20c49ba5e353f7cf,%rdx
7b7: 9b c4 20
7ba: 48 89 c8 mov %rcx,%rax
7bd: 48 c1 f9 3f sar $0x3f,%rcx
7c1: 48 f7 ea imul %rdx
7c4: 48 c1 fa 07 sar $0x7,%rdx
7c8: 48 29 ca sub %rcx,%rdx
7cb: 48 89 53 08 mov %rdx,0x8(%rbx)
7cf: 4d 85 e4 test %r12,%r12
7d2: 75 07 jne 7db <__vdso_gettimeofday@@LINUX_2.6+0x4b>
7d4: 5b pop %rbx
7d5: 31 c0 xor %eax,%eax
7d7: 41 5c pop %r12
7d9: 5d pop %rbp
7da: c3 retq
7db: 8b 05 7f c9 ff ff mov -0x3681(%rip),%eax # ffffffffffffd160 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffc950>
7e1: 41 89 04 24 mov %eax,(%r12)
7e5: 8b 05 79 c9 ff ff mov -0x3687(%rip),%eax # ffffffffffffd164 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffc954>
7eb: 41 89 44 24 04 mov %eax,0x4(%r12)
7f0: eb e2 jmp 7d4 <__vdso_gettimeofday@@LINUX_2.6+0x44>
7f2: 66 66 2e 0f 1f 84 00 data16 nopw %cs:0x0(%rax,%rax,1)
7f9: 00 00 00 00
7fd: 0f 1f 00 nopl (%rax)
0000000000000800 <__vdso_time@@LINUX_2.6>:
800: 48 8b 05 99 c8 ff ff mov -0x3767(%rip),%rax # ffffffffffffd0a0 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffc890>
807: 48 85 ff test %rdi,%rdi
80a: 74 03 je 80f <__vdso_time@@LINUX_2.6+0xf>
80c: 48 89 07 mov %rax,(%rdi)
80f: c3 retq
0000000000000810 <__vdso_getcpu@@LINUX_2.6>:
810: 55 push %rbp
811: b8 7b 00 00 00 mov $0x7b,%eax
816: 48 89 e5 mov %rsp,%rbp
819: 0f 03 c0 lsl %ax,%eax
81c: 90 nop
81d: 48 85 ff test %rdi,%rdi
820: 74 0a je 82c <__vdso_getcpu@@LINUX_2.6+0x1c>
822: 89 c2 mov %eax,%edx
824: 81 e2 ff 0f 00 00 and $0xfff,%edx
82a: 89 17 mov %edx,(%rdi)
82c: 48 85 f6 test %rsi,%rsi
82f: 74 05 je 836 <__vdso_getcpu@@LINUX_2.6+0x26>
831: c1 e8 0c shr $0xc,%eax
834: 89 06 mov %eax,(%rsi)
836: 31 c0 xor %eax,%eax
838: 5d pop %rbp
839: c3 retq
Disassembly of section .altinstr_replacement:
0000000000000895 <.altinstr_replacement>:
895: 0f ae f0 mfence
898: 0f 31 rdtsc
89a: 0f ae e8 lfence
89d: 0f 31 rdtsc
89f: 0f 01 f9 rdtscp
8a2: 0f ae f0 mfence
8a5: 0f 31 rdtsc
8a7: 0f ae e8 lfence
8aa: 0f 31 rdtsc
8ac: 0f 01 f9 rdtscp
8af: f3 0f c7 f8 rdpid %rax
arch/x86/entry/vdso/vdso64.so: file format elf64-x86-64
Disassembly of section .text:
00000000000005f0 <__vdso_clock_gettime@@LINUX_2.6-0x140>:
5f0: 55 push %rbp
5f1: 48 63 ff movslq %edi,%rdi
5f4: 4c 8d 0d 85 ca ff ff lea -0x357b(%rip),%r9 # ffffffffffffd080 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffc860>
5fb: 4c 8d 47 02 lea 0x2(%rdi),%r8
5ff: 49 c1 e0 04 shl $0x4,%r8
603: 48 89 e5 mov %rsp,%rbp
606: 41 55 push %r13
608: 4d 01 c8 add %r9,%r8
60b: 41 54 push %r12
60d: 53 push %rbx
60e: 45 8b 11 mov (%r9),%r10d
611: 41 f6 c2 01 test $0x1,%r10b
615: 0f 85 08 01 00 00 jne 723 <LINUX_2.6@@LINUX_2.6+0x723>
61b: 8b 05 63 ca ff ff mov -0x359d(%rip),%eax # ffffffffffffd084 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffc864>
621: 83 f8 01 cmp $0x1,%eax
624: 74 13 je 639 <LINUX_2.6@@LINUX_2.6+0x639>
626: 83 f8 02 cmp $0x2,%eax
629: 74 7e je 6a9 <LINUX_2.6@@LINUX_2.6+0x6a9>
62b: 5b pop %rbx
62c: b8 e4 00 00 00 mov $0xe4,%eax
631: 41 5c pop %r12
633: 0f 05 syscall
635: 41 5d pop %r13
637: 5d pop %rbp
638: c3 retq
639: 0f 31 rdtsc
63b: 90 nop
63c: 90 nop
63d: 90 nop
63e: 48 c1 e2 20 shl $0x20,%rdx
642: 48 09 c2 or %rax,%rdx
645: 49 8b 40 08 mov 0x8(%r8),%rax
649: 48 8b 0d 38 ca ff ff mov -0x35c8(%rip),%rcx # ffffffffffffd088 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffc868>
650: 48 85 d2 test %rdx,%rdx
653: 78 d6 js 62b <LINUX_2.6@@LINUX_2.6+0x62b>
655: 48 39 d1 cmp %rdx,%rcx
658: 73 10 jae 66a <LINUX_2.6@@LINUX_2.6+0x66a>
65a: 48 29 ca sub %rcx,%rdx
65d: 8b 0d 35 ca ff ff mov -0x35cb(%rip),%ecx # ffffffffffffd098 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffc878>
663: 48 0f af d1 imul %rcx,%rdx
667: 48 01 d0 add %rdx,%rax
66a: 8b 0d 2c ca ff ff mov -0x35d4(%rip),%ecx # ffffffffffffd09c <__vdso_getcpu@@LINUX_2.6+0xffffffffffffc87c>
670: 4d 8b 18 mov (%r8),%r11
673: 45 3b 11 cmp (%r9),%r10d
676: 75 96 jne 60e <LINUX_2.6@@LINUX_2.6+0x60e>
678: 48 d3 e8 shr %cl,%rax
67b: 48 3d ff c9 9a 3b cmp $0x3b9ac9ff,%rax
681: 76 16 jbe 699 <LINUX_2.6@@LINUX_2.6+0x699>
683: 31 d2 xor %edx,%edx
685: 48 2d 00 ca 9a 3b sub $0x3b9aca00,%rax
68b: 83 c2 01 add $0x1,%edx
68e: 48 3d ff c9 9a 3b cmp $0x3b9ac9ff,%rax
694: 77 ef ja 685 <LINUX_2.6@@LINUX_2.6+0x685>
696: 49 01 d3 add %rdx,%r11
699: 5b pop %rbx
69a: 41 5c pop %r12
69c: 48 89 46 08 mov %rax,0x8(%rsi)
6a0: 31 c0 xor %eax,%eax
6a2: 41 5d pop %r13
6a4: 5d pop %rbp
6a5: 4c 89 1e mov %r11,(%rsi)
6a8: c3 retq
6a9: 4c 8d 25 50 d9 ff ff lea -0x26b0(%rip),%r12 # ffffffffffffe000 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffd7e0>
6b0: 8b 15 4a d9 ff ff mov -0x26b6(%rip),%edx # ffffffffffffe000 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffd7e0>
6b6: 49 8d 5c 24 1d lea 0x1d(%r12),%rbx
6bb: 83 e2 fe and $0xfffffffe,%edx
6be: 41 89 d3 mov %edx,%r11d
6c1: f6 03 01 testb $0x1,(%rbx)
6c4: 0f 84 61 ff ff ff je 62b <LINUX_2.6@@LINUX_2.6+0x62b>
6ca: 0f 31 rdtsc
6cc: 90 nop
6cd: 90 nop
6ce: 90 nop
6cf: 48 c1 e2 20 shl $0x20,%rdx
6d3: 48 09 c2 or %rax,%rdx
6d6: 48 89 d0 mov %rdx,%rax
6d9: 0f be 15 3c d9 ff ff movsbl -0x26c4(%rip),%edx # ffffffffffffe01c <__vdso_getcpu@@LINUX_2.6+0xffffffffffffd7fc>
6e0: 48 2b 05 21 d9 ff ff sub -0x26df(%rip),%rax # ffffffffffffe008 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffd7e8>
6e7: 49 89 c5 mov %rax,%r13
6ea: 89 d1 mov %edx,%ecx
6ec: f7 d9 neg %ecx
6ee: 49 d3 ed shr %cl,%r13
6f1: 89 d1 mov %edx,%ecx
6f3: 48 d3 e0 shl %cl,%rax
6f6: 85 d2 test %edx,%edx
6f8: 48 8b 0d 11 d9 ff ff mov -0x26ef(%rip),%rcx # ffffffffffffe010 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffd7f0>
6ff: 8b 15 13 d9 ff ff mov -0x26ed(%rip),%edx # ffffffffffffe018 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffd7f8>
705: 49 0f 48 c5 cmovs %r13,%rax
709: 48 f7 e2 mul %rdx
70c: 48 0f ac d0 20 shrd $0x20,%rdx,%rax
711: 41 8b 14 24 mov (%r12),%edx
715: 41 39 d3 cmp %edx,%r11d
718: 75 a1 jne 6bb <LINUX_2.6@@LINUX_2.6+0x6bb>
71a: 48 8d 14 08 lea (%rax,%rcx,1),%rdx
71e: e9 22 ff ff ff jmpq 645 <LINUX_2.6@@LINUX_2.6+0x645>
723: f3 90 pause
725: e9 e4 fe ff ff jmpq 60e <LINUX_2.6@@LINUX_2.6+0x60e>
72a: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
0000000000000730 <__vdso_clock_gettime@@LINUX_2.6>:
730: 55 push %rbp
731: 48 89 e5 mov %rsp,%rbp
734: 83 ff 0f cmp $0xf,%edi
737: 77 1a ja 753 <__vdso_clock_gettime@@LINUX_2.6+0x23>
739: b8 01 00 00 00 mov $0x1,%eax
73e: 89 f9 mov %edi,%ecx
740: d3 e0 shl %cl,%eax
742: a9 03 08 00 00 test $0x803,%eax
747: 74 06 je 74f <__vdso_clock_gettime@@LINUX_2.6+0x1f>
749: 5d pop %rbp
74a: e9 a1 fe ff ff jmpq 5f0 <LINUX_2.6@@LINUX_2.6+0x5f0>
74f: a8 60 test $0x60,%al
751: 75 0c jne 75f <__vdso_clock_gettime@@LINUX_2.6+0x2f>
753: 48 63 ff movslq %edi,%rdi
756: b8 e4 00 00 00 mov $0xe4,%eax
75b: 5d pop %rbp
75c: 0f 05 syscall
75e: c3 retq
75f: 48 63 c7 movslq %edi,%rax
762: 48 8d 15 17 c9 ff ff lea -0x36e9(%rip),%rdx # ffffffffffffd080 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffc860>
769: 48 83 c0 02 add $0x2,%rax
76d: 48 c1 e0 04 shl $0x4,%rax
771: 48 01 d0 add %rdx,%rax
774: 8b 0a mov (%rdx),%ecx
776: f6 c1 01 test $0x1,%cl
779: 75 16 jne 791 <__vdso_clock_gettime@@LINUX_2.6+0x61>
77b: 48 8b 38 mov (%rax),%rdi
77e: 48 89 3e mov %rdi,(%rsi)
781: 48 8b 78 08 mov 0x8(%rax),%rdi
785: 48 89 7e 08 mov %rdi,0x8(%rsi)
789: 3b 0a cmp (%rdx),%ecx
78b: 75 e7 jne 774 <__vdso_clock_gettime@@LINUX_2.6+0x44>
78d: 31 c0 xor %eax,%eax
78f: 5d pop %rbp
790: c3 retq
791: f3 90 pause
793: eb df jmp 774 <__vdso_clock_gettime@@LINUX_2.6+0x44>
795: 66 66 2e 0f 1f 84 00 data16 nopw %cs:0x0(%rax,%rax,1)
79c: 00 00 00 00
00000000000007a0 <__vdso_gettimeofday@@LINUX_2.6>:
7a0: 55 push %rbp
7a1: 48 89 e5 mov %rsp,%rbp
7a4: 41 54 push %r12
7a6: 49 89 f4 mov %rsi,%r12
7a9: 53 push %rbx
7aa: 48 85 ff test %rdi,%rdi
7ad: 74 30 je 7df <__vdso_gettimeofday@@LINUX_2.6+0x3f>
7af: 48 89 fb mov %rdi,%rbx
7b2: 48 89 fe mov %rdi,%rsi
7b5: 31 ff xor %edi,%edi
7b7: e8 34 fe ff ff callq 5f0 <LINUX_2.6@@LINUX_2.6+0x5f0>
7bc: 48 8b 4b 08 mov 0x8(%rbx),%rcx
7c0: 48 ba cf f7 53 e3 a5 movabs $0x20c49ba5e353f7cf,%rdx
7c7: 9b c4 20
7ca: 48 89 c8 mov %rcx,%rax
7cd: 48 c1 f9 3f sar $0x3f,%rcx
7d1: 48 f7 ea imul %rdx
7d4: 48 c1 fa 07 sar $0x7,%rdx
7d8: 48 29 ca sub %rcx,%rdx
7db: 48 89 53 08 mov %rdx,0x8(%rbx)
7df: 4d 85 e4 test %r12,%r12
7e2: 75 07 jne 7eb <__vdso_gettimeofday@@LINUX_2.6+0x4b>
7e4: 5b pop %rbx
7e5: 31 c0 xor %eax,%eax
7e7: 41 5c pop %r12
7e9: 5d pop %rbp
7ea: c3 retq
7eb: 8b 05 6f c9 ff ff mov -0x3691(%rip),%eax # ffffffffffffd160 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffc940>
7f1: 41 89 04 24 mov %eax,(%r12)
7f5: 8b 05 69 c9 ff ff mov -0x3697(%rip),%eax # ffffffffffffd164 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffc944>
7fb: 41 89 44 24 04 mov %eax,0x4(%r12)
800: eb e2 jmp 7e4 <__vdso_gettimeofday@@LINUX_2.6+0x44>
802: 66 66 2e 0f 1f 84 00 data16 nopw %cs:0x0(%rax,%rax,1)
809: 00 00 00 00
80d: 0f 1f 00 nopl (%rax)
0000000000000810 <__vdso_time@@LINUX_2.6>:
810: 48 8b 05 89 c8 ff ff mov -0x3777(%rip),%rax # ffffffffffffd0a0 <__vdso_getcpu@@LINUX_2.6+0xffffffffffffc880>
817: 48 85 ff test %rdi,%rdi
81a: 74 03 je 81f <__vdso_time@@LINUX_2.6+0xf>
81c: 48 89 07 mov %rax,(%rdi)
81f: c3 retq
0000000000000820 <__vdso_getcpu@@LINUX_2.6>:
820: 55 push %rbp
821: b8 7b 00 00 00 mov $0x7b,%eax
826: 48 89 e5 mov %rsp,%rbp
829: 0f 03 c0 lsl %ax,%eax
82c: 90 nop
82d: 48 85 ff test %rdi,%rdi
830: 74 0a je 83c <__vdso_getcpu@@LINUX_2.6+0x1c>
832: 89 c2 mov %eax,%edx
834: 81 e2 ff 0f 00 00 and $0xfff,%edx
83a: 89 17 mov %edx,(%rdi)
83c: 48 85 f6 test %rsi,%rsi
83f: 74 05 je 846 <__vdso_getcpu@@LINUX_2.6+0x26>
841: c1 e8 0c shr $0xc,%eax
844: 89 06 mov %eax,(%rsi)
846: 31 c0 xor %eax,%eax
848: 5d pop %rbp
849: c3 retq
Disassembly of section .altinstr_replacement:
00000000000008a5 <.altinstr_replacement>:
8a5: 0f ae f0 mfence
8a8: 0f 31 rdtsc
8aa: 0f ae e8 lfence
8ad: 0f 31 rdtsc
8af: 0f 01 f9 rdtscp
8b2: 0f ae f0 mfence
8b5: 0f 31 rdtsc
8b7: 0f ae e8 lfence
8ba: 0f 31 rdtsc
8bc: 0f 01 f9 rdtscp
8bf: f3 0f c7 f8 rdpid %rax
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment