Skip to content

Instantly share code, notes, and snippets.

@dvyukov
Created January 15, 2016 14:04
Show Gist options
  • Save dvyukov/568f2e4a61afc910f880 to your computer and use it in GitHub Desktop.
Save dvyukov/568f2e4a61afc910f880 to your computer and use it in GitHub Desktop.
Before:
ffffffff81574b60 <__sanitizer_cov_trace_pc>:
ffffffff81574b60: 65 48 8b 04 25 c0 4e mov %gs:0x14ec0,%rax
ffffffff81574b67: 01 00
ffffffff81574b69: 48 85 c0 test %rax,%rax
ffffffff81574b6c: 74 1a je ffffffff81574b88 <__sanitizer_cov_trace_pc+0x28>
ffffffff81574b6e: 65 8b 15 db 02 aa 7e mov %gs:0x7eaa02db(%rip),%edx # 14e50 <__preempt_count>
ffffffff81574b75: 81 e2 00 ff 1f 00 and $0x1fff00,%edx
ffffffff81574b7b: 75 0b jne ffffffff81574b88 <__sanitizer_cov_trace_pc+0x28>
ffffffff81574b7d: 8b 90 60 12 00 00 mov 0x1260(%rax),%edx
ffffffff81574b83: 83 fa 01 cmp $0x1,%edx
ffffffff81574b86: 74 02 je ffffffff81574b8a <__sanitizer_cov_trace_pc+0x2a>
ffffffff81574b88: f3 c3 repz retq
ffffffff81574b8a: 48 8b 88 68 12 00 00 mov 0x1268(%rax),%rcx
ffffffff81574b91: 8b 11 mov (%rcx),%edx
ffffffff81574b93: 83 c2 01 add $0x1,%edx
ffffffff81574b96: 3b 90 64 12 00 00 cmp 0x1264(%rax),%edx
ffffffff81574b9c: 73 ea jae ffffffff81574b88 <__sanitizer_cov_trace_pc+0x28>
ffffffff81574b9e: 55 push %rbp
ffffffff81574b9f: 89 d0 mov %edx,%eax
ffffffff81574ba1: 48 89 e5 mov %rsp,%rbp
ffffffff81574ba4: 48 8b 75 08 mov 0x8(%rbp),%rsi
ffffffff81574ba8: 89 34 81 mov %esi,(%rcx,%rax,4)
ffffffff81574bab: 89 11 mov %edx,(%rcx)
ffffffff81574bad: 5d pop %rbp
ffffffff81574bae: c3 retq
ffffffff81574baf: 90 nop
After:
ffffffff81574b60 <__sanitizer_cov_trace_pc>:
ffffffff81574b60: 55 push %rbp
ffffffff81574b61: 48 89 e5 mov %rsp,%rbp
ffffffff81574b64: 41 55 push %r13
ffffffff81574b66: 41 54 push %r12
ffffffff81574b68: 53 push %rbx
ffffffff81574b69: 65 48 8b 1c 25 c0 4e mov %gs:0x14ec0,%rbx
ffffffff81574b70: 01 00
ffffffff81574b72: 48 85 db test %rbx,%rbx
ffffffff81574b75: 74 19 je ffffffff81574b90 <__sanitizer_cov_trace_pc+0x30>
ffffffff81574b77: 65 8b 05 d2 02 aa 7e mov %gs:0x7eaa02d2(%rip),%eax # 14e50 <__preempt_count>
ffffffff81574b7e: a9 00 ff 1f 00 test $0x1fff00,%eax
ffffffff81574b83: 75 0b jne ffffffff81574b90 <__sanitizer_cov_trace_pc+0x30>
ffffffff81574b85: 8b 83 60 12 00 00 mov 0x1260(%rbx),%eax
ffffffff81574b8b: 83 f8 01 cmp $0x1,%eax
ffffffff81574b8e: 74 07 je ffffffff81574b97 <__sanitizer_cov_trace_pc+0x37>
ffffffff81574b90: 5b pop %rbx
ffffffff81574b91: 41 5c pop %r12
ffffffff81574b93: 41 5d pop %r13
ffffffff81574b95: 5d pop %rbp
ffffffff81574b96: c3 retq
ffffffff81574b97: 4c 8b ab 68 12 00 00 mov 0x1268(%rbx),%r13
ffffffff81574b9e: be 4f 00 00 00 mov $0x4f,%esi
ffffffff81574ba3: 48 c7 c7 b9 58 33 87 mov $0xffffffff873358b9,%rdi
ffffffff81574baa: e8 a1 f9 15 00 callq ffffffff816d4550 <__might_fault>
ffffffff81574baf: 4c 89 e8 mov %r13,%rax
ffffffff81574bb2: e8 49 e6 3d 01 callq ffffffff82953200 <__get_user_4>
ffffffff81574bb7: 44 8d 62 01 lea 0x1(%rdx),%r12d
ffffffff81574bbb: 44 3b a3 64 12 00 00 cmp 0x1264(%rbx),%r12d
ffffffff81574bc2: 73 cc jae ffffffff81574b90 <__sanitizer_cov_trace_pc+0x30>
ffffffff81574bc4: be 52 00 00 00 mov $0x52,%esi
ffffffff81574bc9: 48 c7 c7 b9 58 33 87 mov $0xffffffff873358b9,%rdi
ffffffff81574bd0: e8 7b f9 15 00 callq ffffffff816d4550 <__might_fault>
ffffffff81574bd5: 44 89 e0 mov %r12d,%eax
ffffffff81574bd8: 49 8d 4c 85 00 lea 0x0(%r13,%rax,4),%rcx
ffffffff81574bdd: 8b 45 08 mov 0x8(%rbp),%eax
ffffffff81574be0: e8 5b 32 3e 01 callq ffffffff82957e40 <__put_user_4>
ffffffff81574be5: be 53 00 00 00 mov $0x53,%esi
ffffffff81574bea: 48 c7 c7 b9 58 33 87 mov $0xffffffff873358b9,%rdi
ffffffff81574bf1: e8 5a f9 15 00 callq ffffffff816d4550 <__might_fault>
ffffffff81574bf6: 44 89 e0 mov %r12d,%eax
ffffffff81574bf9: 4c 89 e9 mov %r13,%rcx
ffffffff81574bfc: e8 3f 32 3e 01 callq ffffffff82957e40 <__put_user_4>
ffffffff81574c01: eb 8d jmp ffffffff81574b90 <__sanitizer_cov_trace_pc+0x30>
ffffffff81574c03: 66 66 66 66 2e 0f 1f data32 data32 data32 nopw %cs:0x0(%rax,%rax,1)
ffffffff81574c0a: 84 00 00 00 00 00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment