|
|
(6 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| | __INDEX__ |
| Reverse engineering of the [[CUDA]] system. CUDA primarily communicates with the NVIDIA closed-source driver via several dozen undocumented ioctl()s. My open source implementation, libcudest, is located at [http://github.com/dankamongmen/libcudest GitHub]. Sundry utilities for reverse engineering are also within this repository, though recent modifications to [http://kadu.net/~joi/valgrind-mmt.git/ valgrind-mmt] have rather superseded my tools. | | Reverse engineering of the [[CUDA]] system. CUDA primarily communicates with the NVIDIA closed-source driver via several dozen undocumented ioctl()s. My open source implementation, libcudest, is located at [http://github.com/dankamongmen/libcudest GitHub]. Sundry utilities for reverse engineering are also within this repository, though recent modifications to [http://kadu.net/~joi/valgrind-mmt.git/ valgrind-mmt] have rather superseded my tools. |
|
| |
|
Line 448: |
Line 449: |
| |- | | |- |
| |} | | |} |
| | | ==GPU methods== |
| ==disassembly== | |
| This disassembly makes use of <tt>libcuda.so.195.36.15</tt> (0867d66be617faab3782fa0ba19ec9ba, 7404990 bytes). Symbols were extracted via <tt>objdump -T</tt>.
| |
| AMD64 ABI:
| |
| * Integer arguments via RDI, RSI, RDX, RCX, R8 and R9, then stack
| |
| * FP arguments in XMM0..XMM7, then stack
| |
| * Return value in RAX
| |
| {| border="1" class="sortable" | | {| border="1" class="sortable" |
| ! location (.text is 000000000007fd10) | | ! Code |
| ! length | | ! Param size |
| ! symbol | | ! Notes |
| ! notes
| |
| |-
| |
| | ebce0
| |
| |
| |
| |
| |
| |<code>
| |
| ebce0: 41 55 push %r13
| |
| ebce2: 49 89 fd mov %rdi,%r13
| |
| ebce5: 41 54 push %r12
| |
| ebce7: 49 89 f4 mov %rsi,%r12
| |
| ebcea: 55 push %rbp
| |
| ebceb: 53 push %rbx
| |
| ebcec: 48 83 ec 08 sub $0x8,%rsp
| |
| ebcf0: 8b 35 2a 49 72 00 mov 0x72492a(%rip),%esi # 810620 <__isinff@plt+0x790920>
| |
| ebcf6: 85 f6 test %esi,%esi
| |
| ebcf8: 0f 84 16 01 00 00 je ebe14 <__isinff@plt+0x6c114>
| |
| ebcfe: 8b 0d 2c 49 72 00 mov 0x72492c(%rip),%ecx # 810630 <__isinff@plt+0x790930>
| |
| ebd04: 85 c9 test %ecx,%ecx
| |
| ebd06: 0f 8e 08 01 00 00 jle ebe14 <__isinff@plt+0x6c114>
| |
| ebd0c: 48 8d 1d 0d 49 72 00 lea 0x72490d(%rip),%rbx # 810620 <__isinff@plt+0x790920>
| |
| ebd13: 31 ed xor %ebp,%ebp
| |
| ebd15: 48 8b 7b 28 mov 0x28(%rbx),%rdi
| |
| ebd19: 4c 89 e2 mov %r12,%rdx
| |
| ebd1c: 4c 89 ee mov %r13,%rsi
| |
| ebd1f: ff c5 inc %ebp
| |
| ebd21: ff 53 20 callq *0x20(%rbx)
| |
| ebd24: 48 83 c3 18 add $0x18,%rbx
| |
| ebd28: 39 2d 02 49 72 00 cmp %ebp,0x724902(%rip) # 810630 <__isinff@plt+0x790930>
| |
| ebd2e: 0f 8e e0 00 00 00 jle ebe14 <__isinff@plt+0x6c114>
| |
| ebd34: 48 8b 7b 28 mov 0x28(%rbx),%rdi
| |
| ebd38: 4c 89 e2 mov %r12,%rdx
| |
| ebd3b: 4c 89 ee mov %r13,%rsi
| |
| ebd3e: ff 53 20 callq *0x20(%rbx)
| |
| ebd41: 8d 45 01 lea 0x1(%rbp),%eax
| |
| ebd44: 39 05 e6 48 72 00 cmp %eax,0x7248e6(%rip) # 810630 <__isinff@plt+0x790930>
| |
| ebd4a: 48 8d 4b 18 lea 0x18(%rbx),%rcx
| |
| ebd4e: 0f 8e c0 00 00 00 jle ebe14 <__isinff@plt+0x6c114>
| |
| ebd54: 48 8b 79 28 mov 0x28(%rcx),%rdi
| |
| ebd58: 4c 89 e2 mov %r12,%rdx
| |
| ebd5b: 4c 89 ee mov %r13,%rsi
| |
| ebd5e: ff 51 20 callq *0x20(%rcx)
| |
| ebd61: 8d 55 02 lea 0x2(%rbp),%edx
| |
| ebd64: 39 15 c6 48 72 00 cmp %edx,0x7248c6(%rip) # 810630 <__isinff@plt+0x790930>
| |
| ebd6a: 48 8d 4b 30 lea 0x30(%rbx),%rcx
| |
| ebd6e: 0f 8e a0 00 00 00 jle ebe14 <__isinff@plt+0x6c114>
| |
| ebd74: 48 8b 79 28 mov 0x28(%rcx),%rdi
| |
| ebd78: 4c 89 e2 mov %r12,%rdx
| |
| ebd7b: 4c 89 ee mov %r13,%rsi
| |
| ebd7e: ff 51 20 callq *0x20(%rcx)
| |
| ebd81: 8d 7d 03 lea 0x3(%rbp),%edi
| |
| ebd84: 39 3d a6 48 72 00 cmp %edi,0x7248a6(%rip) # 810630 <__isinff@plt+0x790930>
| |
| ebd8a: 48 8d 4b 48 lea 0x48(%rbx),%rcx
| |
| ebd8e: 0f 8e 80 00 00 00 jle ebe14 <__isinff@plt+0x6c114>
| |
| ebd94: 48 8b 79 28 mov 0x28(%rcx),%rdi
| |
| ebd98: 4c 89 e2 mov %r12,%rdx
| |
| ebd9b: 4c 89 ee mov %r13,%rsi
| |
| ebd9e: ff 51 20 callq *0x20(%rcx)
| |
| ebda1: 44 8d 45 04 lea 0x4(%rbp),%r8d
| |
| ebda5: 44 39 05 84 48 72 00 cmp %r8d,0x724884(%rip) # 810630 <__isinff@plt+0x790930>
| |
| ebdac: 48 8d 4b 60 lea 0x60(%rbx),%rcx
| |
| ebdb0: 7e 62 jle ebe14 <__isinff@plt+0x6c114>
| |
| ebdb2: 48 8b 79 28 mov 0x28(%rcx),%rdi
| |
| ebdb6: 4c 89 e2 mov %r12,%rdx
| |
| ebdb9: 4c 89 ee mov %r13,%rsi
| |
| ebdbc: ff 51 20 callq *0x20(%rcx)
| |
| ebdbf: 44 8d 4d 05 lea 0x5(%rbp),%r9d
| |
| ebdc3: 44 39 0d 66 48 72 00 cmp %r9d,0x724866(%rip) # 810630 <__isinff@plt+0x790930>
| |
| ebdca: 48 8d 4b 78 lea 0x78(%rbx),%rcx
| |
| ebdce: 7e 44 jle ebe14 <__isinff@plt+0x6c114>
| |
| ebdd0: 48 8b 79 28 mov 0x28(%rcx),%rdi
| |
| ebdd4: 4c 89 e2 mov %r12,%rdx
| |
| ebdd7: 4c 89 ee mov %r13,%rsi
| |
| ebdda: ff 51 20 callq *0x20(%rcx)
| |
| ebddd: 44 8d 55 06 lea 0x6(%rbp),%r10d
| |
| ebde1: 44 39 15 48 48 72 00 cmp %r10d,0x724848(%rip) # 810630 <__isinff@plt+0x790930>
| |
| ebde8: 48 8d 8b 90 00 00 00 lea 0x90(%rbx),%rcx
| |
| ebdef: 7e 23 jle ebe14 <__isinff@plt+0x6c114>
| |
| ebdf1: 48 8b 79 28 mov 0x28(%rcx),%rdi
| |
| ebdf5: 4c 89 e2 mov %r12,%rdx
| |
| ebdf8: 4c 89 ee mov %r13,%rsi
| |
| ebdfb: 83 c5 07 add $0x7,%ebp
| |
| ebdfe: 48 81 c3 a8 00 00 00 add $0xa8,%rbx
| |
| ebe05: ff 51 20 callq *0x20(%rcx)
| |
| ebe08: 39 2d 22 48 72 00 cmp %ebp,0x724822(%rip) # 810630 <__isinff@plt+0x790930>
| |
| ebe0e: 0f 8f 01 ff ff ff jg ebd15 <__isinff@plt+0x6c015>
| |
| ebe14: 48 83 c4 08 add $0x8,%rsp
| |
| ebe18: 5b pop %rbx
| |
| ebe19: 5d pop %rbp
| |
| ebe1a: 41 5c pop %r12
| |
| ebe1c: 41 5d pop %r13
| |
| ebe1e: c3 retq
| |
| </code>
| |
| |-
| |
| | 5c7850
| |
| |
| |
| | Pthread_setspecific()
| |
| |<code>
| |
| 5c7850: ff cf dec %edi
| |
| 5c7852: e9 e9 7c ab ff jmpq 7f540 <pthread_setspecific@plt>
| |
| </code>
| |
| |-
| |
| | |
| | 5c7860
| |
| |
| |
| | Pthread_getspecific()
| |
| |<code>
| |
| 5c7860: ff cf dec %edi
| |
| 5c7862: e9 49 83 ab ff jmpq 7fbb0 <pthread_getspecific@plt>
| |
| </code>
| |
| |-
| |
| | 905d0
| |
| |
| |
| | "lookupContext()"
| |
| |<code>
| |
| // Check for 0x321cbda00, the "driver deinitialized" magic constant. Return 4 if set.
| |
| | |
| 905d0: 48 8b 05 91 e0 77 00 mov 0x77e091(%rip),%rax # 80e668 <__isinff@plt+0x78e968> push %rbx
| |
| 905d8: b9 04 00 00 00 mov $0x4,%ecx
| |
| 905dd: 48 89 fb mov %rdi,%rbx
| |
| 905e0: 8b 90 88 01 00 00 mov 0x188(%rax),%edx
| |
| 905e6: 81 fa 00 ba 1c 32 cmp $0x321cba00,%edx
| |
| 905ec: 74 0a je 905f8 <__isinff@plt+0x108f8>
| |
| | |
| // Check for 0xabc123, the "driver initialized" magic constant. Return 3 if unset.
| |
| | |
| 905ee: 81 fa 23 c1 ab 00 cmp $0xabc123,%edx
| |
| 905f4: b1 03 mov $0x3,%cl
| |
| 905f6: 74 08 je 90600 <__isinff@plt+0x10900>
| |
| 905f8: 5b pop %rbx
| |
| 905f9: 89 c8 mov %ecx,%eax
| |
| 905fb: c3 retq
| |
| 905fc: 66 66 66 90 xchg %ax,%ax
| |
| | |
| // Also return 3 (DRIVER_UNINITIALIZED) if we were passed an uninitialized key.
| |
| | |
| 90600: 30 c9 xor %cl,%cl
| |
| 90602: 48 85 ff test %rdi,%rdi
| |
| 90605: 74 f1 je 905f8 <__isinff@plt+0x108f8>
| |
| | |
| // Call pthread_getspecific()
| |
| | |
| 90607: 8b 38 mov (%rax),%edi
| |
| 90609: e8 52 72 53 00 callq 5c7860 <__isinff@plt+0x547b60>
| |
| | |
| // Check for NULL from pthread_getspecific(). Return 201 (INVALID_CONTEXT) in that case.
| |
| | |
| 9060e: 48 85 c0 test %rax,%rax
| |
| 90611: 48 89 03 mov %rax,(%rbx)
| |
| 90614: b9 c9 00 00 00 mov $0xc9,%ecx
| |
| 90619: 74 dd je 905f8 <__isinff@plt+0x108f8>
| |
| | |
| // We had a valid context object. Return 0x338 bytes into it.
| |
| | |
| 9061b: 8b 88 38 03 00 00 mov 0x338(%rax),%ecx
| |
| 90621: 5b pop %rbx
| |
| 90622: 89 c8 mov %ecx,%eax
| |
| 90624: c3 retq
| |
| </code>
| |
| |-
| |
| | ebcd0
| |
| |
| |
| |
| |
| |<code>
| |
| ebcd0: 31 c0 xor %eax,%eax
| |
| ebcd2: 83 3d 4b 49 72 00 00 cmpl $0x0,0x72494b(%rip) # 810624 <__isinff@plt+0x790924>
| |
| ebcd9: 0f 95 c0 setne %al
| |
| ebcdc: c3 retq
| |
| </code>
| |
| |-
| |
| |81460
| |
| |
| |
| |
| |
| |<code>
| |
| 81460: 53 push %rbx
| |
| 81461: 89 fb mov %edi,%ebx
| |
| 81463: e8 b8 f2 00 00 callq 90720 <__isinff@plt+0x10a20>
| |
| 81468: 85 db test %ebx,%ebx
| |
| 8146a: 74 07 je 81473 <__isinff@plt+0x1773>
| |
| 8146c: 5b pop %rbx
| |
| 8146d: b8 01 00 00 00 mov $0x1,%eax
| |
| 81472: c3 retq
| |
| 81473: 5b pop %rbx
| |
| 81474: e9 07 f4 00 00 jmpq 90880 <__isinff@plt+0x10b80>
| |
| </code>
| |
| |-
| |
| | 90720
| |
| |
| |
| |
| |
| |<code>
| |
| 90720: 53 push %rbx
| |
| 90721: 48 8b 1d 40 df 77 00 mov 0x77df40(%rip),%rbx # 80e668 <__isinff@plt+0x78e968>
| |
| 90728: 8b 83 80 01 00 00 mov 0x180(%rbx),%eax
| |
| 9072e: 85 c0 test %eax,%eax
| |
| 90730: 74 02 je 90734 <__isinff@plt+0x10a34>
| |
| 90732: 5b pop %rbx
| |
| 90733: c3 retq
| |
| 90734: 48 8d bb 78 01 00 00 lea 0x178(%rbx),%rdi
| |
| 9073b: 31 d2 xor %edx,%edx
| |
| 9073d: be 01 00 00 00 mov $0x1,%esi
| |
| 90742: e8 b9 69 53 00 callq 5c7100 <__isinff@plt+0x547400>
| |
| 90747: 85 c0 test %eax,%eax
| |
| 90749: 0f 84 9a 00 00 00 je 907e9 <__isinff@plt+0x10ae9>
| |
| 9074f: 44 8b 9b 80 01 00 00 mov 0x180(%rbx),%r11d
| |
| 90756: 45 85 db test %r11d,%r11d
| |
| 90759: 75 d7 jne 90732 <__isinff@plt+0x10a32>
| |
| 9075b: e8 20 70 53 00 callq 5c7780 <__isinff@plt+0x547a80>
| |
| 90760: 8b 93 80 01 00 00 mov 0x180(%rbx),%edx
| |
| 90766: 85 d2 test %edx,%edx
| |
| 90768: 75 c8 jne 90732 <__isinff@plt+0x10a32>
| |
| 9076a: e8 11 70 53 00 callq 5c7780 <__isinff@plt+0x547a80>
| |
| 9076f: 8b 8b 80 01 00 00 mov 0x180(%rbx),%ecx
| |
| 90775: 85 c9 test %ecx,%ecx
| |
| 90777: 75 b9 jne 90732 <__isinff@plt+0x10a32>
| |
| 90779: e8 02 70 53 00 callq 5c7780 <__isinff@plt+0x547a80>
| |
| 9077e: 8b b3 80 01 00 00 mov 0x180(%rbx),%esi
| |
| 90784: 85 f6 test %esi,%esi
| |
| 90786: 75 aa jne 90732 <__isinff@plt+0x10a32>
| |
| 90788: e8 f3 6f 53 00 callq 5c7780 <__isinff@plt+0x547a80>
| |
| 9078d: 8b bb 80 01 00 00 mov 0x180(%rbx),%edi
| |
| 90793: 85 ff test %edi,%edi
| |
| 90795: 75 9b jne 90732 <__isinff@plt+0x10a32>
| |
| 90797: e8 e4 6f 53 00 callq 5c7780 <__isinff@plt+0x547a80>
| |
| 9079c: 44 8b 83 80 01 00 00 mov 0x180(%rbx),%r8d
| |
| 907a3: 45 85 c0 test %r8d,%r8d
| |
| 907a6: 75 8a jne 90732 <__isinff@plt+0x10a32>
| |
| 907a8: e8 d3 6f 53 00 callq 5c7780 <__isinff@plt+0x547a80>
| |
| 907ad: 44 8b 8b 80 01 00 00 mov 0x180(%rbx),%r9d
| |
| 907b4: 45 85 c9 test %r9d,%r9d
| |
| 907b7: 0f 85 75 ff ff ff jne 90732 <__isinff@plt+0x10a32>
| |
| 907bd: e8 be 6f 53 00 callq 5c7780 <__isinff@plt+0x547a80>
| |
| 907c2: 44 8b 93 80 01 00 00 mov 0x180(%rbx),%r10d
| |
| 907c9: 45 85 d2 test %r10d,%r10d
| |
| 907cc: 0f 85 60 ff ff ff jne 90732 <__isinff@plt+0x10a32>
| |
| 907d2: e8 a9 6f 53 00 callq 5c7780 <__isinff@plt+0x547a80>
| |
| 907d7: 44 8b 9b 80 01 00 00 mov 0x180(%rbx),%r11d
| |
| 907de: 45 85 db test %r11d,%r11d
| |
| 907e1: 0f 84 74 ff ff ff je 9075b <__isinff@plt+0x10a5b>
| |
| 907e7: 5b pop %rbx
| |
| 907e8: c3 retq
| |
| </code>
| |
| |-
| |
| |0x90880
| |
| |
| |
| |
| |
| |<code>
| |
| 90880: 41 54 push %r12
| |
| 90882: 55 push %rbp
| |
| 90883: 53 push %rbx
| |
| 90884: 31 db xor %ebx,%ebx
| |
| 90886: 48 81 ec 00 08 00 00 sub $0x800,%rsp
| |
| 9088d: e8 8e fe ff ff callq 90720 <__isinff@plt+0x10a20>
| |
| 90892: 48 8b 2d cf dd 77 00 mov 0x77ddcf(%rip),%rbp # 80e668 <__isinff@plt+0x78e968>8 lea 0x8(%rbp),%rdi
| |
| 9089d: e8 1e 6f 53 00 callq 5c77c0 <__isinff@plt+0x547ac0>
| |
| 908a2: 81 bd 88 01 00 00 23 cmpl $0xabc123,0x188(%rbp)
| |
| 908a9: c1 ab 00
| |
| 908ac: 0f 84 16 01 00 00 je 909c8 <__isinff@plt+0x10cc8>
| |
| 908b2: 4c 8d a4 24 00 04 00 lea 0x400(%rsp),%r12
| |
| 908b9: 00
| |
| 908ba: 48 8d 3d eb 77 53 00 lea 0x5377eb(%rip),%rdi # 5c80ac <__isinff@plt+0x5483ac>0 00 mov $0x400,%edx
| |
| 908c6: c6 84 24 00 04 00 00 movb $0x0,0x400(%rsp)
| |
| 908cd: 00
| |
| 908ce: c6 04 24 00 movb $0x0,(%rsp)
| |
| 908d2: 4c 89 e6 mov %r12,%rsi
| |
| 908d5: e8 76 70 53 00 callq 5c7950 <__isinff@plt+0x547c50>
| |
| 908da: 48 8d 3d cb 76 53 00 lea 0x5376cb(%rip),%rdi # 5c7fac <__isinff@plt+0x5482ac> mov %rsp,%rsi
| |
| 908e4: ba 00 04 00 00 mov $0x400,%edx
| |
| 908e9: e8 62 70 53 00 callq 5c7950 <__isinff@plt+0x547c50>
| |
| 908ee: 80 3c 24 00 cmpb $0x0,(%rsp)
| |
| 908f2: 0f 85 e8 00 00 00 jne 909e0 <__isinff@plt+0x10ce0>
| |
| 908f8: c7 85 c0 03 00 00 00 movl $0x0,0x3c0(%rbp)
| |
| 908ff: 00 00 00
| |
| 90902: e8 89 6e 53 00 callq 5c7790 <__isinff@plt+0x547a90>
| |
| 90907: 48 8d bd a0 01 00 00 lea 0x1a0(%rbp),%rdi
| |
| 9090e: 31 f6 xor %esi,%esi
| |
| 90910: ba 00 01 00 00 mov $0x100,%edx
| |
| 90915: 89 85 90 04 00 00 mov %eax,0x490(%rbp)
| |
| 9091b: c7 85 a0 04 00 00 00 movl $0x0,0x4a0(%rbp)
| |
| 90922: 00 00 00
| |
| 90925: 48 c7 85 98 04 00 00 movq $0x0,0x498(%rbp)
| |
| 9092c: 00 00 00 00
| |
| 90930: c7 85 b0 03 00 00 00 movl $0x0,0x3b0(%rbp)
| |
| 90937: 00 00 00
| |
| 9093a: c7 85 a0 02 00 00 00 movl $0x0,0x2a0(%rbp)
| |
| 90941: 00 00 00
| |
| 90944: c7 85 94 01 00 00 00 movl $0x0,0x194(%rbp)
| |
| 9094b: 00 00 00
| |
| 9094e: e8 3d f0 fe ff callq 7f990 <memset@plt>
| |
| 90953: 48 8d bd c0 04 00 00 lea 0x4c0(%rbp),%rdi
| |
| 9095a: e8 b1 c4 00 00 callq 9ce10 <__isinff@plt+0x1d110>
| |
| 9095f: e8 cc 1e 07 00 callq 102830 <__isinff@plt+0x82b30>
| |
| 90964: 85 c0 test %eax,%eax
| |
| 90966: 89 c3 mov %eax,%ebx
| |
| 90968: 0f 84 9a 00 00 00 je 90a08 <__isinff@plt+0x10d08>
| |
| 9096e: 48 8b bd b8 03 00 00 mov 0x3b8(%rbp),%rdi
| |
| 90975: 48 85 ff test %rdi,%rdi
| |
| 90978: 74 10 je 9098a <__isinff@plt+0x10c8a>
| |
| 9097a: e8 d1 a8 00 00 callq 9b250 <__isinff@plt+0x1b550>
| |
| 9097f: 48 c7 85 b8 03 00 00 movq $0x0,0x3b8(%rbp)
| |
| 90986: 00 00 00 00
| |
| 9098a: 85 db test %ebx,%ebx
| |
| 9098c: 75 72 jne 90a00 <__isinff@plt+0x10d00>
| |
| 9098e: c7 85 88 01 00 00 23 movl $0xabc123,0x188(%rbp)
| |
| 90995: c1 ab 00
| |
| 90998: c7 85 94 04 00 00 00 movl $0x0,0x494(%rbp)
| |
| 9099f: 00 00 00
| |
| 909a2: e8 79 b4 05 00 callq ebe20 <__isinff@plt+0x6c120>
| |
| 909a7: e8 24 b3 05 00 callq ebcd0 <__isinff@plt+0x6bfd0>
| |
| 909ac: 84 c0 test %al,%al
| |
| 909ae: 0f 85 ac 00 00 00 jne 90a60 <__isinff@plt+0x10d60>
| |
| 909b4: e8 b7 20 07 00 callq 102a70 <__isinff@plt+0x82d70>
| |
| 909b9: 31 db xor %ebx,%ebx
| |
| 909bb: e8 10 b3 05 00 callq ebcd0 <__isinff@plt+0x6bfd0>
| |
| 909c0: 84 c0 test %al,%al
| |
| 909c2: 0f 85 7f 00 00 00 jne 90a47 <__isinff@plt+0x10d47>
| |
| 909c8: 48 8d 7d 08 lea 0x8(%rbp),%rdi
| |
| 909cc: e8 df 6d 53 00 callq 5c77b0 <__isinff@plt+0x547ab0>
| |
| 909d1: 48 81 c4 00 08 00 00 add $0x800,%rsp
| |
| 909d8: 89 d8 mov %ebx,%eax
| |
| 909da: 5b pop %rbx
| |
| 909db: 5d pop %rbp
| |
| 909dc: 41 5c pop %r12
| |
| 909de: c3 retq
| |
| 909df: 90 nop
| |
| 909e0: 80 bc 24 00 04 00 00 cmpb $0x0,0x400(%rsp)
| |
| 909e7: 00
| |
| 909e8: 0f 84 0a ff ff ff je 908f8 <__isinff@plt+0x10bf8>
| |
| 909ee: c7 85 c0 03 00 00 01 movl $0x1,0x3c0(%rbp)
| |
| 909f5: 00 00 00
| |
| 909f8: e9 05 ff ff ff jmpq 90902 <__isinff@plt+0x10c02>
| |
| 909fd: 66 66 90 xchg %ax,%ax
| |
| 90a00: 89 9d 88 01 00 00 mov %ebx,0x188(%rbp)
| |
| 90a06: eb c0 jmp 909c8 <__isinff@plt+0x10cc8>
| |
| 90a08: 48 8b 3d 19 e5 77 00 mov 0x77e519(%rip),%rdi # 80ef28 <__isinff@plt+0x78f228>
| |
| 90a0f: b3 02 mov $0x2,%bl
| |
| 90a11: e8 6a 6e 53 00 callq 5c7880 <__isinff@plt+0x547b80>
| |
| 90a16: 85 c0 test %eax,%eax
| |
| 90a18: 89 45 00 mov %eax,0x0(%rbp)
| |
| 90a1b: 0f 84 4d ff ff ff je 9096e <__isinff@plt+0x10c6e>
| |
| 90a21: be 01 00 00 00 mov $0x1,%esi
| |
| 90a26: 4c 89 e7 mov %r12,%rdi
| |
| 90a29: e8 a2 66 53 00 callq 5c70d0 <__isinff@plt+0x5473d0>
| |
| 90a2e: f6 84 24 0a 04 00 00 testb $0x8,0x40a(%rsp)
| |
| 90a35: 08
| |
| 90a36: 75 3b jne 90a73 <__isinff@plt+0x10d73>
| |
| 90a38: e8 23 bc 01 00 callq ac660 <__isinff@plt+0x2c960>
| |
| 90a3d: e8 ce b5 05 00 callq ec010 <__isinff@plt+0x6c310>
| |
| 90a42: e9 47 ff ff ff jmpq 9098e <__isinff@plt+0x10c8e>
| |
| 90a47: 48 8b 3d 0a cd 77 00 mov 0x77cd0a(%rip),%rdi # 80d758 <__isinff@plt+0x78da58>
| |
| 90a4e: 31 f6 xor %esi,%esi
| |
| 90a50: e8 8b b2 05 00 callq ebce0 <__isinff@plt+0x6bfe0>
| |
| 90a55: e9 6e ff ff ff jmpq 909c8 <__isinff@plt+0x10cc8>
| |
| 90a5a: 66 66 90 xchg %ax,%ax
| |
| 90a5d: 66 66 90 xchg %ax,%ax
| |
| 90a60: 48 8b 3d b1 dd 77 00 mov 0x77ddb1(%rip),%rdi # 80e818 <__isinff@plt+0x78eb18>
| |
| 90a67: 31 f6 xor %esi,%esi
| |
| 90a69: e8 72 b2 05 00 callq ebce0 <__isinff@plt+0x6bfe0>
| |
| 90a6e: e9 41 ff ff ff jmpq 909b4 <__isinff@plt+0x10cb4>
| |
| 90a73: 83 8d a4 04 00 00 01 orl $0x1,0x4a4(%rbp)
| |
| 90a7a: eb bc jmp 90a38 <__isinff@plt+0x10d38>
| |
| 90a7c: 66 66 66 90 xchg %ax,%ax
| |
| 90a80: 53 push %rbx
| |
| 90a81: 48 8b 1d e0 db 77 00 mov 0x77dbe0(%rip),%rbx # 80e668 <__isinff@plt+0x78e968>
| |
| 90a88: 8b 3b mov (%rbx),%edi
| |
| 90a8a: 85 ff test %edi,%edi
| |
| 90a8c: 75 12 jne 90aa0 <__isinff@plt+0x10da0>
| |
| 90a8e: c7 83 88 01 00 00 00 movl $0x321cba00,0x188(%rbx)
| |
| 90a95: ba 1c 32
| |
| 90a98: 5b pop %rbx
| |
| 90a99: c3 retq
| |
| </code>
| |
| |- | | |- |
| |0x10a6a0 | | ! COLSPAN="3" style="background:#efefef;" | 0x5c000002 (per-device) |
| |0x18c
| |
| |cuCtxSynchronize
| |
| |
| |
| |- | | |- |
| |0x10a830 | | | 0x20800110 |
| |0x253 | | | 0x84 |
| |cuInit
| |
| |<code>
| |
| 10a830: 48 89 5c 24 e0 mov %rbx,-0x20(%rsp)
| |
| 10a835: 48 89 6c 24 e8 mov %rbp,-0x18(%rsp)
| |
| 10a83a: 89 fd mov %edi,%ebp
| |
| 10a83c: 4c 89 64 24 f0 mov %r12,-0x10(%rsp)
| |
| 10a841: 4c 89 6c 24 f8 mov %r13,-0x8(%rsp)
| |
| 10a846: 48 81 ec 88 00 00 00 sub $0x88,%rsp
| |
| 10a84d: 48 c7 44 24 48 00 00 movq $0x0,0x48(%rsp)
| |
| 10a854: 00 00
| |
| 10a856: e8 75 14 fe ff callq ebcd0 <__isinff@plt+0x6bfd0>
| |
| 10a85b: 84 c0 test %al,%al
| |
| 10a85d: 89 c3 mov %eax,%ebx
| |
| 10a85f: 0f 85 52 01 00 00 jne 10a9b7 <__isinff@plt+0x8acb7>
| |
| 10a865: 45 31 ed xor %r13d,%r13d
| |
| 10a868: 44 8b 0d a5 5f 70 00 mov 0x705fa5(%rip),%r9d # 810814 <__isinff@plt+0x790b14>
| |
| 10a86f: 45 85 c9 test %r9d,%r9d
| |
| 10a872: 0f 84 08 01 00 00 je 10a980 <__isinff@plt+0x8ac80>
| |
| | |
| // first-time initialization sequence returns to here
| |
| | |
| 10a878: 89 ef mov %ebp,%edi
| |
| 10a87a: e8 e1 6b f7 ff callq 81460 <__isinff@plt+0x1760>
| |
| 10a87f: 44 8b 15 8e 5f 70 00 mov 0x705f8e(%rip),%r10d # 810814 <__isinff@plt+0x790b14>
| |
| 10a886: 41 89 c4 mov %eax,%r12d
| |
| 10a889: 45 85 d2 test %r10d,%r10d
| |
| 10a88c: 0f 84 b4 00 00 00 je 10a946 <__isinff@plt+0x8ac46>
| |
| 10a892: 84 db test %bl,%bl
| |
| 10a894: 0f 95 c3 setne %bl
| |
| 10a897: 44 84 eb test %r13b,%bl
| |
| 10a89a: 75 24 jne 10a8c0 <__isinff@plt+0x8abc0>
| |
| 10a89c: 44 89 e0 mov %r12d,%eax
| |
| 10a89f: 48 8b 5c 24 68 mov 0x68(%rsp),%rbx
| |
| 10a8a4: 48 8b 6c 24 70 mov 0x70(%rsp),%rbp
| |
| 10a8a9: 4c 8b 64 24 78 mov 0x78(%rsp),%r12
| |
| 10a8ae: 4c 8b ac 24 80 00 00 mov 0x80(%rsp),%r13
| |
| 10a8b5: 00
| |
| 10a8b6: 48 81 c4 88 00 00 00 add $0x88,%rsp
| |
| 10a8bd: c3 retq
| |
| 10a8be: 66 90 xchg %ax,%ax
| |
| 10a8c0: fc cld
| |
| 10a8c1: 31 c0 xor %eax,%eax
| |
| 10a8c3: b9 08 00 00 00 mov $0x8,%ecx
| |
| 10a8c8: 48 89 e7 mov %rsp,%rdi
| |
| 10a8cb: f3 48 ab rep stos %rax,%es:(%rdi)
| |
| 10a8ce: 4c 8b 2d 93 3d 70 00 mov 0x703d93(%rip),%r13 # 80e668 <__isinff@plt+0x78e968>
| |
| 10a8d5: 89 6c 24 50 mov %ebp,0x50(%rsp)
| |
| 10a8d9: 48 8d 6c 24 50 lea 0x50(%rsp),%rbp
| |
| 10a8de: 41 8b 7d 00 mov 0x0(%r13),%edi
| |
| 10a8e2: e8 79 cf 4b 00 callq 5c7860 <__isinff@plt+0x547b60>
| |
| 10a8e7: 4c 8d 1d 75 0a 4d 00 lea 0x4d0a75(%rip),%r11 # 5db363 <__isinff@plt+0x55b663>
| |
| 10a8ee: 48 89 c2 mov %rax,%rdx
| |
| 10a8f1: 48 89 04 24 mov %rax,(%rsp)
| |
| 10a8f5: 31 c0 xor %eax,%eax
| |
| 10a8f7: 48 85 d2 test %rdx,%rdx
| |
| 10a8fa: 48 c7 44 24 08 00 00 movq $0x0,0x8(%rsp)
| |
| 10a901: 00 00
| |
| 10a903: c7 44 24 10 01 00 00 movl $0x1,0x10(%rsp)
| |
| 10a90a: 00
| |
| 10a90b: 4c 89 5c 24 18 mov %r11,0x18(%rsp)
| |
| 10a910: 48 89 6c 24 20 mov %rbp,0x20(%rsp)
| |
| 10a915: 74 07 je 10a91e <__isinff@plt+0x8ac1e>
| |
| 10a917: 48 8b 82 f0 03 00 00 mov 0x3f0(%rdx),%rax
| |
| 10a91e: 48 8b 74 24 48 mov 0x48(%rsp),%rsi
| |
| 10a923: 48 8b 3d 16 43 70 00 mov 0x704316(%rip),%rdi # 80ec40 <__isinff@plt+0x78ef40>
| |
| 10a92a: 48 89 44 24 28 mov %rax,0x28(%rsp)
| |
| 10a92f: 44 89 64 24 38 mov %r12d,0x38(%rsp)
| |
| 10a934: 48 89 74 24 30 mov %rsi,0x30(%rsp)
| |
| 10a939: 48 89 e6 mov %rsp,%rsi
| |
| 10a93c: e8 9f 13 fe ff callq ebce0 <__isinff@plt+0x6bfe0>
| |
| 10a941: e9 56 ff ff ff jmpq 10a89c <__isinff@plt+0x8ab9c>
| |
| 10a946: 48 8d 3d 8d 00 4d 00 lea 0x4d008d(%rip),%rdi # 5da9da <__isinff@plt+0x55acda>
| |
| 10a94d: e8 0e 4b f7 ff callq 7f460 <getenv@plt>
| |
| 10a952: 48 85 c0 test %rax,%rax
| |
| 10a955: 74 17 je 10a96e <__isinff@plt+0x8ac6e>
| |
| 10a957: 31 c9 xor %ecx,%ecx
| |
| 10a959: ba 0a 00 00 00 mov $0xa,%edx
| |
| 10a95e: 31 f6 xor %esi,%esi
| |
| 10a960: 48 89 c7 mov %rax,%rdi
| |
| 10a963: e8 c8 4f f7 ff callq 7f930 <__strtol_internal@plt>
| |
| 10a968: 89 05 aa 5e 70 00 mov %eax,0x705eaa(%rip) # 810818 <__isinff@plt+0x790b18>
| |
| 10a96e: c7 05 9c 5e 70 00 01 movl $0x1,0x705e9c(%rip) # 810814 <__isinff@plt+0x790b14>
| |
| 10a975: 00 00 00
| |
| 10a978: e9 15 ff ff ff jmpq 10a892 <__isinff@plt+0x8ab92>
| |
| 10a97d: 66 66 90 xchg %ax,%ax
| |
| | |
| // first-time initialization sequence.
| |
| | |
| 10a980: 48 8d 3d 53 00 4d 00 lea 0x4d0053(%rip),%rdi # 5da9da <__isinff@plt+0x55acda> "CUDA_API_TRACE_PTR"
| |
| 10a987: e8 d4 4a f7 ff callq 7f460 <getenv@plt>
| |
| 10a98c: 48 85 c0 test %rax,%rax
| |
| 10a98f: 74 17 je 10a9a8 <__isinff@plt+0x8aca8>
| |
| | |
| // we go to 10a9a8 if CUDA_API_TRACE_PTR is unset
| |
| | |
| 10a991: 31 c9 xor %ecx,%ecx
| |
| 10a993: ba 0a 00 00 00 mov $0xa,%edx
| |
| 10a998: 31 f6 xor %esi,%esi
| |
| 10a99a: 48 89 c7 mov %rax,%rdi
| |
| 10a99d: e8 8e 4f f7 ff callq 7f930 <__strtol_internal@plt>
| |
| 10a9a2: 89 05 70 5e 70 00 mov %eax,0x705e70(%rip) # 810818 <__isinff@plt+0x790b18>
| |
| | |
| // set cudaInitialized to 1
| |
| | |
| 10a9a8: c7 05 62 5e 70 00 01 movl $0x1,0x705e62(%rip) # 810814 <__isinff@plt+0x790b14>
| |
| 10a9af: 00 00 00
| |
| 10a9b2: e9 c1 fe ff ff jmpq 10a878 <__isinff@plt+0x8ab78>
| |
| | |
| | |
| 10a9b7: 31 ff xor %edi,%edi
| |
| 10a9b9: e8 12 5c f8 ff callq 905d0 <__isinff@plt+0x108d0>
| |
| 10a9be: 85 c0 test %eax,%eax
| |
| 10a9c0: 0f 85 9f fe ff ff jne 10a865 <__isinff@plt+0x8ab65>
| |
| 10a9c6: fc cld
| |
| 10a9c7: 31 c0 xor %eax,%eax
| |
| 10a9c9: b9 07 00 00 00 mov $0x7,%ecx
| |
| 10a9ce: 48 89 e7 mov %rsp,%rdi
| |
| 10a9d1: f3 48 ab rep stos %rax,%es:(%rdi)
| |
| 10a9d4: 48 8b 05 8d 3c 70 00 mov 0x703c8d(%rip),%rax # 80e668 <__isinff@plt+0x78e968>
| |
| 10a9db: 89 6c 24 50 mov %ebp,0x50(%rsp)
| |
| 10a9df: 8b 38 mov (%rax),%edi
| |
| 10a9e1: e8 7a ce 4b 00 callq 5c7860 <__isinff@plt+0x547b60>
| |
| 10a9e6: 48 85 c0 test %rax,%rax
| |
| 10a9e9: 48 89 04 24 mov %rax,(%rsp)
| |
| 10a9ed: 74 69 je 10aa58 <__isinff@plt+0x8ad58>
| |
| 10a9ef: 48 ff 80 f0 03 00 00 incq 0x3f0(%rax)
| |
| 10a9f6: 48 8d 54 24 50 lea 0x50(%rsp),%rdx
| |
| 10a9fb: 48 8d 35 61 09 4d 00 lea 0x4d0961(%rip),%rsi # 5db363 <__isinff@plt+0x55b663>
| |
| 10aa02: 48 8b 04 24 mov (%rsp),%rax
| |
| 10aa06: 48 c7 44 24 08 00 00 movq $0x0,0x8(%rsp)
| |
| 10aa0d: 00 00
| |
| 10aa0f: 48 89 54 24 20 mov %rdx,0x20(%rsp)
| |
| 10aa14: 31 d2 xor %edx,%edx
| |
| 10aa16: c7 44 24 10 01 00 00 movl $0x1,0x10(%rsp)
| |
| 10aa1d: 00
| |
| 10aa1e: 48 89 74 24 18 mov %rsi,0x18(%rsp)
| |
| 10aa23: 48 85 c0 test %rax,%rax
| |
| 10aa26: 74 07 je 10aa2f <__isinff@plt+0x8ad2f>
| |
| 10aa28: 48 8b 90 f0 03 00 00 mov 0x3f0(%rax),%rdx
| |
| 10aa2f: 48 8b 3d ea 35 70 00 mov 0x7035ea(%rip),%rdi # 80e020 <__isinff@plt+0x78e320>
| |
| 10aa36: 4c 8d 44 24 48 lea 0x48(%rsp),%r8
| |
| 10aa3b: 48 89 e6 mov %rsp,%rsi
| |
| 10aa3e: 41 bd 01 00 00 00 mov $0x1,%r13d
| |
| 10aa44: 48 89 54 24 28 mov %rdx,0x28(%rsp)
| |
| 10aa49: 4c 89 44 24 30 mov %r8,0x30(%rsp)
| |
| 10aa4e: e8 8d 12 fe ff callq ebce0 <__isinff@plt+0x6bfe0>
| |
| 10aa53: e9 10 fe ff ff jmpq 10a868 <__isinff@plt+0x8ab68>
| |
| 10aa58: 4c 8d 05 04 09 4d 00 lea 0x4d0904(%rip),%r8 # 5db363 <__isinff@plt+0x55b663>
| |
| 10aa5f: 4c 8d 64 24 50 lea 0x50(%rsp),%r12
| |
| 10aa64: 31 d2 xor %edx,%edx
| |
| 10aa66: 48 c7 44 24 08 00 00 movq $0x0,0x8(%rsp)
| |
| 10aa6d: 00 00
| |
| 10aa6f: c7 44 24 10 01 00 00 movl $0x1,0x10(%rsp)
| |
| 10aa76: 00
| |
| 10aa77: 4c 89 44 24 18 mov %r8,0x18(%rsp)
| |
| 10aa7c: 4c 89 64 24 20 mov %r12,0x20(%rsp)
| |
| 10aa81: eb ac jmp 10aa2f <__isinff@plt+0x8ad2f>
| |
| 10aa83: 66 66 66 90 xchg %ax,%ax
| |
| 10aa87: 66 66 90 xchg %ax,%ax
| |
| 10aa8a: 66 66 90 xchg %ax,%ax
| |
| 10aa8d: 66 66 90 xchg %ax,%ax</code>
| |
| |-
| |
| |0x10aa90
| |
| |0x272
| |
| |cuGetExportTable
| |
| |
| |
| |-
| |
| |0x10ad10
| |
| |0x286
| |
| |cuGraphicsUnmapResources
| |
| |
| |
| |-
| |
| |0x10afa0
| |
| |0x286
| |
| |cuGraphicsMapResources
| |
| |
| |
| |-
| |
| |0x10b230
| |
| |0x272
| |
| |cuGraphicsResourceSetMapFlags
| |
| |
| |
| |-
| |
| |0x10b4b0
| |
| |0x28e
| |
| |cuGraphicsResourceGetMappedPointer
| |
| |
| |
| |-
| |
| |0x10b740
| |
| |0x2b2
| |
| |cuGraphicsSubResourceGetMappedArray
| |
| |
| |
| |-
| |
| |0x10ba00
| |
| |0x24d
| |
| |cuGraphicsUnregisterResource
| |
| |
| |
| |-
| |
| |0x10bc50
| |
| |0x245
| |
| |cuStreamDestroy
| |
| |
| |
| |-
| |
| |0x10bea0
| |
| |0x245
| |
| |cuStreamSynchronize
| |
| |
| |
| |-
| |
| |0x10c0f0
| |
| |0x245
| |
| |cuStreamQuery
| |
| |
| |
| |-
| |
| |0x10c340
| |
| |0x272
| |
| |cuStreamCreate
| |
| |
| |
| |-
| |
| |0x10c5c0
| |
| |0x28e
| |
| |cuEventElapsedTime
| |
| |
| |
| |-
| |
| |0x10c850
| |
| |0x24d
| |
| |cuEventDestroy
| |
| |
| |
| |-
| |
| |0x10caa0
| |
| |0x24d
| |
| |cuEventSynchronize
| |
| |
| |
| |-
| |
| |0x10ccf0
| |
| |0x24d
| |
| |cuEventQuery
| |
| |
| |
| |-
| |
| |0x10cf40
| |
| |0x261
| |
| |cuEventRecord
| |
| |
| |
| |-
| |
| |0x10d1b0
| |
| |0x272
| |
| |cuEventCreate
| |
| |
| |
| |-
| |
| |0x10d430
| |
| |0x2aa
| |
| |cuLaunchGridAsync
| |
| |
| |
| |-
| |
| |0x10d6e0
| |
| |0x28e
| |
| |cuLaunchGrid
| |
| |
| |
| |-
| |
| |0x10d970
| |
| |0x24d
| |
| |cuLaunch
| |
| |
| |
| |-
| |
| |0x10dbc0
| |
| |0x28e
| |
| |cuParamSetTexRef
| |
| |
| |
| |-
| |
| |0x10de50
| |
| |0x2b9
| |
| |cuParamSetv
| |
| |
| |
| |-
| |
| |0x10e110
| |
| |0x2b5
| |
| |cuParamSetf
| |
| |
| |
| |-
| |
| |0x10e3d0
| |
| |0x28e
| |
| |cuParamSeti
| |
| |
| |
| |-
| |
| |0x10e660
| |
| |0x272
| |
| |cuParamSetSize
| |
| |
| |
| |-
| |
| |0x10e8e0
| |
| |0x272
| |
| |cuTexRefGetFlags
| |
| |
| |
| |-
| |
| |0x10eb60
| |
| |0x28e
| |
| |cuTexRefGetFormat
| |
| |
| |
| |-
| |
| |0x10edf0
| |
| |0x272
| |
| |cuTexRefGetFilterMode
| |
| |
| |
| |-
| |
| |0x10f070
| |
| |0x28e
| |
| |cuTexRefGetAddressMode
| |
| |
| |
| |-
| |
| |0x10f300
| |
| |0x272
| |
| |cuTexRefGetArray
| |
| |
| |
| |-
| |
| |0x10f580
| |
| |0x272
| |
| |cuTexRefGetAddress
| |
| |
| |
| |-
| |
| |0x10f800
| |
| |0x272
| |
| |cuTexRefSetFlags
| |
| |
| |
| |-
| |
| |0x10fa80
| |
| |0x272
| |
| |cuTexRefSetFilterMode
| |
| |
| |
| |-
| |
| |0x10fd00
| |
| |0x28e
| |
| |cuTexRefSetAddressMode
| |
| |
| |
| |-
| |
| |0x10ff90
| |
| |0x28e
| |
| |cuTexRefSetFormat
| |
| |
| |
| |-
| |
| |0x11a0d0
| |
| |0x28e
| |
| |cuCtxCreate
| |
| |
| |
| |-
| |
| |0x11a360
| |
| |0x28e
| |
| |cuDeviceGetAttribute
| |
| |
| |
| |-
| |
| |0x11a5f0
| |
| |0x272
| |
| |cuDeviceGetProperties
| |
| |
| |
| |-
| |
| |0x11a870
| |
| |0x272
| |
| |cuDeviceTotalMem
| |
| |
| |
| |-
| |
| |0x11aaf0
| |
| |0x28e
| |
| |cuDeviceComputeCapability
| |
| |
| |
| |-
| |
| |0x11ad80
| |
| |0x28e
| |
| |cuDeviceGetName
| |
| |
| |
| |-
| |
| |0x11b010
| |
| |0x24d
| |
| |cuDeviceGetCount
| |
| |<code>
| |
| 11b010: 48 89 5c 24 e0 mov %rbx,-0x20(%rsp)
| |
| 11b015: 48 89 6c 24 e8 mov %rbp,-0x18(%rsp)
| |
| 11b01a: 48 89 fd mov %rdi,%rbp
| |
| 11b01d: 4c 89 64 24 f0 mov %r12,-0x10(%rsp)
| |
| 11b022: 4c 89 6c 24 f8 mov %r13,-0x8(%rsp)
| |
| 11b027: 48 83 ec 78 sub $0x78,%rsp
| |
| 11b02b: 48 c7 44 24 48 00 00 movq $0x0,0x48(%rsp)
| |
| 11b032: 00 00
| |
| 11b034: e8 97 0c fd ff callq ebcd0 <__isinff@plt+0x6bfd0>
| |
| 11b039: 84 c0 test %al,%al
| |
| 11b03b: 89 c3 mov %eax,%ebx
| |
| 11b03d: 0f 85 4d 01 00 00 jne 11b190 <__isinff@plt+0x9b490>
| |
| 11b043: 45 31 ed xor %r13d,%r13d
| |
| 11b046: 44 8b 0d c7 57 6f 00 mov 0x6f57c7(%rip),%r9d # 810814 <__isinff@plt+0x790b14>
| |
| 11b04d: 45 85 c9 test %r9d,%r9d
| |
| 11b050: 0f 84 01 01 00 00 je 11b157 <__isinff@plt+0x9b457>
| |
| 11b056: 48 89 ef mov %rbp,%rdi
| |
| | |
| // Perform the basic driver-initialization checks
| |
| | |
| 11b059: e8 42 5b f6 ff callq 80ba0 <__isinff@plt+0xea0>
| |
| 11b05e: 44 8b 15 af 57 6f 00 mov 0x6f57af(%rip),%r10d # 810814 <__isinff@plt+0x790b14>
| |
| 11b065: 41 89 c4 mov %eax,%r12d
| |
| 11b068: 45 85 d2 test %r10d,%r10d
| |
| 11b06b: 0f 84 af 00 00 00 je 11b120 <__isinff@plt+0x9b420>
| |
| 11b071: 84 db test %bl,%bl
| |
| 11b073: 0f 95 c3 setne %bl
| |
| 11b076: 44 84 eb test %r13b,%bl
| |
| 11b079: 75 1c jne 11b097 <__isinff@plt+0x9b397>
| |
| 11b07b: 44 89 e0 mov %r12d,%eax
| |
| 11b07e: 48 8b 5c 24 58 mov 0x58(%rsp),%rbx
| |
| 11b083: 48 8b 6c 24 60 mov 0x60(%rsp),%rbp
| |
| 11b088: 4c 8b 64 24 68 mov 0x68(%rsp),%r12
| |
| 11b08d: 4c 8b 6c 24 70 mov 0x70(%rsp),%r13
| |
| 11b092: 48 83 c4 78 add $0x78,%rsp
| |
| 11b096: c3 retq
| |
| | |
| // handle weird case
| |
|
| |
| 11b097: fc cld
| |
| 11b098: 31 c0 xor %eax,%eax
| |
| 11b09a: b9 08 00 00 00 mov $0x8,%ecx
| |
| 11b09f: 48 89 e7 mov %rsp,%rdi
| |
| 11b0a2: f3 48 ab rep stos %rax,%es:(%rdi)
| |
| 11b0a5: 4c 8b 2d bc 35 6f 00 mov 0x6f35bc(%rip),%r13 # 80e668 <__isinff@plt+0x78e968>
| |
| 11b0ac: 48 89 6c 24 40 mov %rbp,0x40(%rsp)
| |
| 11b0b1: 48 8d 6c 24 40 lea 0x40(%rsp),%rbp
| |
| 11b0b6: 41 8b 7d 00 mov 0x0(%r13),%edi
| |
| 11b0ba: e8 a1 c7 4a 00 callq 5c7860 <__isinff@plt+0x547b60>
| |
| 11b0bf: 4c 8d 1d 6a 02 4c 00 lea 0x4c026a(%rip),%r11 # 5db330 <__isinff@plt+0x55b630>
| |
| 11b0c6: 48 89 c2 mov %rax,%rdx
| |
| 11b0c9: 48 89 04 24 mov %rax,(%rsp)
| |
| 11b0cd: 31 c0 xor %eax,%eax
| |
| 11b0cf: 48 85 d2 test %rdx,%rdx
| |
| 11b0d2: 48 c7 44 24 08 00 00 movq $0x0,0x8(%rsp)
| |
| 11b0d9: 00 00
| |
| 11b0db: c7 44 24 10 04 00 00 movl $0x4,0x10(%rsp)
| |
| 11b0e2: 00
| |
| 11b0e3: 4c 89 5c 24 18 mov %r11,0x18(%rsp)
| |
| 11b0e8: 48 89 6c 24 20 mov %rbp,0x20(%rsp)
| |
| 11b0ed: 74 07 je 11b0f6 <__isinff@plt+0x9b3f6>
| |
| 11b0ef: 48 8b 82 f0 03 00 00 mov 0x3f0(%rdx),%rax
| |
| 11b0f6: 48 8b 74 24 48 mov 0x48(%rsp),%rsi
| |
| 11b0fb: 48 8b 3d 3e 3b 6f 00 mov 0x6f3b3e(%rip),%rdi # 80ec40 <__isinff@plt+0x78ef40>
| |
| 11b102: 48 89 44 24 28 mov %rax,0x28(%rsp)
| |
| 11b107: 44 89 64 24 38 mov %r12d,0x38(%rsp)
| |
| 11b10c: 48 89 74 24 30 mov %rsi,0x30(%rsp)
| |
| 11b111: 48 89 e6 mov %rsp,%rsi
| |
| 11b114: e8 c7 0b fd ff callq ebce0 <__isinff@plt+0x6bfe0>
| |
| 11b119: e9 5d ff ff ff jmpq 11b07b <__isinff@plt+0x9b37b>
| |
| 11b11e: 66 90 xchg %ax,%ax
| |
| | |
| // Handler for no-context case
| |
| | |
| 11b120: 48 8d 3d b3 f8 4b 00 lea 0x4bf8b3(%rip),%rdi # 5da9da <__isinff@plt+0x55acda>
| |
| 11b127: e8 34 43 f6 ff callq 7f460 <getenv@plt>
| |
| 11b12c: 48 85 c0 test %rax,%rax
| |
| 11b12f: 74 17 je 11b148 <__isinff@plt+0x9b448>
| |
| 11b131: 31 c9 xor %ecx,%ecx
| |
| 11b133: ba 0a 00 00 00 mov $0xa,%edx
| |
| 11b138: 31 f6 xor %esi,%esi
| |
| 11b13a: 48 89 c7 mov %rax,%rdi
| |
| 11b13d: e8 ee 47 f6 ff callq 7f930 <__strtol_internal@plt>
| |
| 11b142: 89 05 d0 56 6f 00 mov %eax,0x6f56d0(%rip) # 810818 <__isinff@plt+0x790b18>
| |
| 11b148: c7 05 c2 56 6f 00 01 movl $0x1,0x6f56c2(%rip) # 810814 <__isinff@plt+0x790b14>
| |
| 11b14f: 00 00 00
| |
| 11b152: e9 1a ff ff ff jmpq 11b071 <__isinff@plt+0x9b371>
| |
| 11b157: 48 8d 3d 7c f8 4b 00 lea 0x4bf87c(%rip),%rdi # 5da9da <__isinff@plt+0x55acda>
| |
| 11b15e: e8 fd 42 f6 ff callq 7f460 <getenv@plt>
| |
| 11b163: 48 85 c0 test %rax,%rax
| |
| 11b166: 74 17 je 11b17f <__isinff@plt+0x9b47f>
| |
| 11b168: 31 c9 xor %ecx,%ecx
| |
| 11b16a: ba 0a 00 00 00 mov $0xa,%edx
| |
| 11b16f: 31 f6 xor %esi,%esi
| |
| 11b171: 48 89 c7 mov %rax,%rdi
| |
| 11b174: e8 b7 47 f6 ff callq 7f930 <__strtol_internal@plt>
| |
| 11b179: 89 05 99 56 6f 00 mov %eax,0x6f5699(%rip) # 810818 <__isinff@plt+0x790b18>
| |
| 11b17f: c7 05 8b 56 6f 00 01 movl $0x1,0x6f568b(%rip) # 810814 <__isinff@plt+0x790b14>
| |
| 11b186: 00 00 00
| |
| 11b189: e9 c8 fe ff ff jmpq 11b056 <__isinff@plt+0x9b356>
| |
| 11b18e: 66 90 xchg %ax,%ax
| |
| 11b190: 31 ff xor %edi,%edi
| |
| 11b192: e8 39 54 f7 ff callq 905d0 <__isinff@plt+0x108d0>
| |
| 11b197: 85 c0 test %eax,%eax
| |
| 11b199: 0f 85 a4 fe ff ff jne 11b043 <__isinff@plt+0x9b343>
| |
| 11b19f: fc cld
| |
| 11b1a0: 31 c0 xor %eax,%eax
| |
| 11b1a2: b9 07 00 00 00 mov $0x7,%ecx
| |
| 11b1a7: 48 89 e7 mov %rsp,%rdi
| |
| 11b1aa: f3 48 ab rep stos %rax,%es:(%rdi)
| |
| 11b1ad: 48 8b 05 b4 34 6f 00 mov 0x6f34b4(%rip),%rax # 80e668 <__isinff@plt+0x78e968>
| |
| 11b1b4: 48 89 6c 24 40 mov %rbp,0x40(%rsp)
| |
| 11b1b9: 8b 38 mov (%rax),%edi
| |
| 11b1bb: e8 a0 c6 4a 00 callq 5c7860 <__isinff@plt+0x547b60>
| |
| 11b1c0: 48 85 c0 test %rax,%rax
| |
| 11b1c3: 48 89 04 24 mov %rax,(%rsp)
| |
| 11b1c7: 74 69 je 11b232 <__isinff@plt+0x9b532>
| |
| 11b1c9: 48 ff 80 f0 03 00 00 incq 0x3f0(%rax)
| |
| 11b1d0: 48 8d 54 24 40 lea 0x40(%rsp),%rdx
| |
| 11b1d5: 48 8d 35 54 01 4c 00 lea 0x4c0154(%rip),%rsi # 5db330 <__isinff@plt+0x55b630>
| |
| 11b1dc: 48 8b 04 24 mov (%rsp),%rax
| |
| 11b1e0: 48 c7 44 24 08 00 00 movq $0x0,0x8(%rsp)
| |
| 11b1e7: 00 00
| |
| 11b1e9: 48 89 54 24 20 mov %rdx,0x20(%rsp)
| |
| 11b1ee: 31 d2 xor %edx,%edx
| |
| 11b1f0: c7 44 24 10 04 00 00 movl $0x4,0x10(%rsp)
| |
| 11b1f7: 00
| |
| 11b1f8: 48 89 74 24 18 mov %rsi,0x18(%rsp)
| |
| 11b1fd: 48 85 c0 test %rax,%rax
| |
| 11b200: 74 07 je 11b209 <__isinff@plt+0x9b509>
| |
| 11b202: 48 8b 90 f0 03 00 00 mov 0x3f0(%rax),%rdx
| |
| 11b209: 48 8b 3d 10 2e 6f 00 mov 0x6f2e10(%rip),%rdi # 80e020 <__isinff@plt+0x78e320>
| |
| 11b210: 4c 8d 44 24 48 lea 0x48(%rsp),%r8
| |
| 11b215: 48 89 e6 mov %rsp,%rsi
| |
| 11b218: 41 bd 01 00 00 00 mov $0x1,%r13d
| |
| 11b21e: 48 89 54 24 28 mov %rdx,0x28(%rsp)
| |
| 11b223: 4c 89 44 24 30 mov %r8,0x30(%rsp)
| |
| 11b228: e8 b3 0a fd ff callq ebce0 <__isinff@plt+0x6bfe0>
| |
| 11b22d: e9 14 fe ff ff jmpq 11b046 <__isinff@plt+0x9b346>
| |
| 11b232: 4c 8d 05 f7 00 4c 00 lea 0x4c00f7(%rip),%r8 # 5db330 <__isinff@plt+0x55b630>
| |
| 11b239: 4c 8d 64 24 40 lea 0x40(%rsp),%r12
| |
| 11b23e: 31 d2 xor %edx,%edx
| |
| 11b240: 48 c7 44 24 08 00 00 movq $0x0,0x8(%rsp)
| |
| 11b247: 00 00
| |
| 11b249: c7 44 24 10 04 00 00 movl $0x4,0x10(%rsp)
| |
| 11b250: 00
| |
| 11b251: 4c 89 44 24 18 mov %r8,0x18(%rsp)
| |
| 11b256: 4c 89 64 24 20 mov %r12,0x20(%rsp)
| |
| 11b25b: eb ac jmp 11b209 <__isinff@plt+0x9b509>
| |
| 11b25d: 66 66 90 xchg %ax,%ax
| |
| 11b260: 48 89 5c 24 d8 mov %rbx,-0x28(%rsp)
| |
| 11b265: 48 89 6c 24 e0 mov %rbp,-0x20(%rsp)
| |
| 11b26a: 48 89 fd mov %rdi,%rbp
| |
| 11b26d: 4c 89 64 24 e8 mov %r12,-0x18(%rsp)
| |
| 11b272: 4c 89 6c 24 f0 mov %r13,-0x10(%rsp)
| |
| 11b277: 41 89 f4 mov %esi,%r12d
| |
| 11b27a: 4c 89 74 24 f8 mov %r14,-0x8(%rsp)
| |
| 11b27f: 48 81 ec 88 00 00 00 sub $0x88,%rsp
| |
| 11b286: 48 c7 44 24 58 00 00 movq $0x0,0x58(%rsp)
| |
| 11b28d: 00 00
| |
| 11b28f: e8 3c 0a fd ff callq ebcd0 <__isinff@plt+0x6bfd0>
| |
| 11b294: 84 c0 test %al,%al
| |
| 11b296: 89 c3 mov %eax,%ebx
| |
| 11b298: 0f 85 62 01 00 00 jne 11b400 <__isinff@plt+0x9b700>
| |
| 11b29e: 45 31 f6 xor %r14d,%r14d
| |
| 11b2a1: 44 8b 0d 6c 55 6f 00 mov 0x6f556c(%rip),%r9d # 810814 <__isinff@plt+0x790b14>
| |
| 11b2a8: 45 85 c9 test %r9d,%r9d
| |
| 11b2ab: 0f 84 16 01 00 00 je 11b3c7 <__isinff@plt+0x9b6c7>
| |
| 11b2b1: 44 89 e6 mov %r12d,%esi
| |
| 11b2b4: 48 89 ef mov %rbp,%rdi
| |
| 11b2b7: e8 34 5b f6 ff callq 80df0 <__isinff@plt+0x10f0>
| |
| 11b2bc: 44 8b 15 51 55 6f 00 mov 0x6f5551(%rip),%r10d # 810814 <__isinff@plt+0x790b14>
| |
| 11b2c3: 41 89 c5 mov %eax,%r13d
| |
| 11b2c6: 45 85 d2 test %r10d,%r10d
| |
| 11b2c9: 0f 84 c1 00 00 00 je 11b390 <__isinff@plt+0x9b690>
| |
| 11b2cf: 84 db test %bl,%bl
| |
| 11b2d1: 0f 95 c3 setne %bl
| |
| 11b2d4: 41 84 de test %bl,%r14b
| |
| 11b2d7: 75 27 jne 11b300 <__isinff@plt+0x9b600>
| |
| 11b2d9: 44 89 e8 mov %r13d,%eax
| |
| 11b2dc: 48 8b 5c 24 60 mov 0x60(%rsp),%rbx
| |
| 11b2e1: 48 8b 6c 24 68 mov 0x68(%rsp),%rbp
| |
| 11b2e6: 4c 8b 64 24 70 mov 0x70(%rsp),%r12
| |
| 11b2eb: 4c 8b 6c 24 78 mov 0x78(%rsp),%r13
| |
| 11b2f0: 4c 8b b4 24 80 00 00 mov 0x80(%rsp),%r14
| |
| 11b2f7: 00
| |
| 11b2f8: 48 81 c4 88 00 00 00 add $0x88,%rsp
| |
| 11b2ff: c3 retq
| |
| 11b300: fc cld
| |
| 11b301: 31 c0 xor %eax,%eax
| |
| 11b303: b9 08 00 00 00 mov $0x8,%ecx
| |
| 11b308: 48 89 e7 mov %rsp,%rdi
| |
| 11b228: e8 b3 0a fd ff callq ebce0 <__isinff@plt+0x6bfe0>
| |
| 11b22d: e9 14 fe ff ff jmpq 11b046 <__isinff@plt+0x9b346>
| |
| 11b232: 4c 8d 05 f7 00 4c 00 lea 0x4c00f7(%rip),%r8 # 5db330 <__isinff@plt+0x55b630>24 40 lea 0x40(%rsp),%r12
| |
| 11b23e: 31 d2 xor %edx,%edx
| |
| 11b240: 48 c7 44 24 08 00 00 movq $0x0,0x8(%rsp)
| |
| 11b247: 00 00
| |
| 11b249: c7 44 24 10 04 00 00 movl $0x4,0x10(%rsp)
| |
| 11b250: 00
| |
| 11b251: 4c 89 44 24 18 mov %r8,0x18(%rsp)
| |
| 11b256: 4c 89 64 24 20 mov %r12,0x20(%rsp)
| |
| 11b25b: eb ac jmp 11b209 <__isinff@plt+0x9b509></code>
| |
| |-
| |
| |0x11b260
| |
| |0x272
| |
| |cuDeviceGet
| |
| |
| |
| |-
| |
| |0x11b4e0
| |
| |0x24d
| |
| |cuDriverGetVersion
| |
| |
| |
| |-
| |
| |0x11b730
| |
| |0x18c
| |
| |cuGLInit
| |
| |
| |
| |-
| |
| |0x11b8c0
| |
| |0x28e
| |
| |cuGLCtxCreate
| |
| |
| |
| |-
| |
| |0x11bb50
| |
| |0x261
| |
| |cuGLUnmapBufferObjectAsync
| |
| |
| |
| |-
| |
| |0x11bdc0
| |
| |0x2aa
| |
| |cuGLMapBufferObjectAsync
| |
| |
| |
| |-
| |
| |0x11c070
| |
| |0x261
| |
| |cuGLSetBufferObjectMapFlags
| |
| |
| |
| |-
| |
| |0x11c2e0
| |
| |0x253
| |
| |cuGLUnregisterBufferObject
| |
| |
| |
| |-
| |
| |0x11c540
| |
| |0x253
| |
| |cuGLUnmapBufferObject
| |
| |
| |
| |-
| |
| |0x11c7a0
| |
| |0x28e
| |
| |cuGLMapBufferObject
| |
| |
| |
| |-
| |
| |0x11ca30
| |
| |0x253
| |
| |cuGLRegisterBufferObject
| |
| |
| |
| |-
| |
| |0x11cc90
| |
| |0x2b2
| |
| |cuGraphicsGLRegisterImage
| |
| |
| |
| |-
| |
| |0x11cf50
| |
| |0x28e
| |
| |cuGraphicsGLRegisterBuffer
| |
| |
| |
| |-
| |
| |0x81ef0
| |
| |0x5f
| |
| |cuMemGetAttribute
| |
| |
| |
| |-
| |
| |0x110a30
| |
| |0x24d
| |
| |cuTexRefDestroy
| |
| |
| |
| |-
| |
| |0x110c80
| |
| |0x24d
| |
| |cuTexRefCreate
| |
| |
| |
| |-
| |
| |0x110ed0
| |
| |0x272
| |
| |cuArray3DGetDescriptor
| |
| |
| |
| |-
| |
| |0x111b20
| |
| |0x272
| |
| |cuFuncSetCacheConfig
| |
| |
| |
| |-
| |
| |0x111da0
| |
| |0x28e
| |
| |cuFuncGetAttribute
| |
| |
| |
| |-
| |
| |0x112b30
| |
| |0x2d5
| |
| |cuMemsetD2D8
| |
| |
| |
| |-
| |
| |0x112e10
| |
| |0x28d
| |
| |cuMemsetD32
| |
| |
| |
| |-
| |
| |0x113ac0
| |
| |0x2cc
| |
| |cuMemcpyAtoHAsync
| |
| |
| |
| |-
| |
| |0x113d90
| |
| |0x2cc
| |
| |cuMemcpyHtoAAsync
| |
| |
| |
| |-
| |
| |0x114ac0
| |
| |0x24d
| |
| |cuMemcpy2DUnaligned
| |
| |
| |
| |-
| |
| |0x114d10
| |
| |0x24d
| |
| |cuMemcpy2D
| |
| |
| |
| |-
| |
| |0x114f60
| |
| |0x2d4
| |
| |cuMemcpyAtoA
| |
| |
| |
| |-
| |
| |0x115a80
| |
| |0x2b2
| |
| |cuMemcpyDtoA
| |
| |
| |
| |-
| |
| |0x115d40
| |
| |0x28d
| |
| |cuMemcpyDtoD
| |
| |
| |
| |-
| |
| |0x115fd0
| |
| |0x28e
| |
| |cuMemcpyDtoH
| |
| |
| |
| |-
| |
| |0x116a00
| |
| |0x28e
| |
| |cuMemHostAlloc
| |
| |
| |
| |-
| |
| |0x116c90
| |
| |0x24d
| |
| |cuMemFreeHost
| |
| |
| |
| |-
| |
| |0x116ee0
| |
| |0x272
| |
| |cuMemAllocHost
| |
| |
| |
| |-
| |
| |0x117bb0
| |
| |0x272
| |
| |cuMemGetInfo
| |
| |
| |
| |-
| |
| |0x117e30
| |
| |0x28e
| |
| |cuModuleGetTexRef
| |
| |
| |
| |-
| |
| |0x118ae0
| |
| |0x2d4
| |
| |cuModuleLoadDataEx
| |
| |
| |
| |-
| |
| |0x118dc0
| |
| |0x272
| |
| |cuModuleLoadData
| |
| |
| |
| |-
| |
| |0x119c00
| |
| |0x272
| |
| |cuCtxAttach
| |
| |
| |
| |-
| |
| |0x119e80
| |
| |0x24d
| |
| |cuCtxDestroy
| |
| |
| |
| |-
| |
| |0x1104e0
| |
| |0x2b2
| |
| |cuTexRefSetAddress
| |
| |
| |
| |-
| |
| |0x1107a0
| |
| |0x28e
| |
| |cuTexRefSetArray
| |
| |
| |
| |-
| |
| |0x1113d0
| |
| |0x24d
| |
| |cuArrayDestroy
| |
| |
| |
| |-
| |
| |0x1118a0
| |
| |0x272
| |
| |cuArrayCreate
| |
| |
| |
| |-
| |
| |0x1122b0
| |
| |0x2b2
| |
| |cuFuncSetBlockShape
| |
| |
| |
| |-
| |
| |0x1130a0
| |
| |0x29d
| |
| |cuMemsetD16
| |
| |
| |
| |-
| |
| |0x1135e0
| |
| |0x261
| |
| |cuMemcpy3DAsync
| |
| |
| |
| |-
| |
| |0x1145c0
| |
| |0x2aa
| |
| |cuMemcpyHtoDAsync
| |
| |
| |
| |-
| |
| |0x1157c0
| |
| |0x2b1
| |
| |cuMemcpyAtoD
| |
| |
| |
| |-
| |
| |0x1164f0
| |
| |0x272
| |
| |cuMemHostGetFlags
| |
| |
| |
| |-
| |
| |0x1173f0
| |
| |0x253
| |
| |cuMemFree
| |
| |
| |
| |-
| |
| |0x1180c0
| |
| |0x2b9
| |
| |cuModuleGetGlobal
| |
| |
| |
| |-
| |
| |0x1192c0
| |
| |0x24d
| |
| |cuCtxGetDevice
| |
| |
| |
| |-
| |
| |0x1199b0
| |
| |0x24d
| |
| |cuCtxDetach
| |
| |
| |
| |-
| |
| |0x102120
| |
| |0x119
| |
| |clGetExtensionFunctionAddress
| |
| |
| |
| |-
| |
| |0x110220
| |
| |0x2b2
| |
| |cuTexRefSetAddress2D
| |
| |
| |
| |-
| |
| |0x111150
| |
| |0x272
| |
| |cuArray3DCreate
| |
| |
| |
| |-
| |
| |0x111620
| |
| |0x272
| |
| |cuArrayGetDescriptor
| |
| |
| |
| |-
| |
| |0x112030
| |
| |0x272
| |
| |cuFuncSetSharedSize
| |
| |
| |
| |-
| |
| |0x112570
| |
| |0x2d3
| |
| |cuMemsetD2D32
| |
| |
| |
| |-
| |
| |0x112850
| |
| |0x2d5
| |
| |cuMemsetD2D16
| |
| |
| |
| |-
| |
| |0x113340
| |
| |0x29c
| |
| |cuMemsetD8
| |
| |
| |
| |-
| |
| |0x113850
| |
| |0x261
| |
| |cuMemcpy2DAsync
| |
| |
| |
| |-
| |
| |0x114060
| |
| |0x2aa
| |
| |cuMemcpyDtoDAsync
| |
| |
| |
| |-
| |
| |0x114310
| |
| |0x2aa
| |
| |cuMemcpyDtoHAsync
| |
| |
| |
| |-
| |
| |0x114870
| |
| |0x24d
| |
| |cuMemcpy3D
| |
| |
| |
| |-
| |
| |0x115240
| |
| |0x2b2
| |
| |cuMemcpyAtoH
| |
| |
| |
| |-
| |
| |0x115500
| |
| |0x2b9
| |
| |cuMemcpyHtoA
| |
| |
| |
| |-
| |
| |0x116260
| |
| |0x28d
| |
| |cuMemcpyHtoD
| |
| |
| |
| |-
| |
| |0x116770
| |
| |0x28e
| |
| |cuMemHostGetDevicePointer
| |
| |
| |
| |-
| |
| |0x117160
| |
| |0x28e
| |
| |cuMemGetAddressRange
| |
| |
| |
| |-
| |
| |0x117650
| |
| |0x2d4
| |
| |cuMemAllocPitch
| |
| |
| |
| |-
| |
| |0x117930
| |
| |0x272
| |
| |cuMemAlloc
| |
| |
| |
| |-
| |
| |0x118380
| |
| |0x28e
| |
| |cuModuleGetFunction
| |
| |
| |
| |-
| |
| |0x118610
| |
| |0x24d
| |
| |cuModuleUnload
| |
| |
| |
| |-
| |
| |0x118860
| |
| |0x272
| |
| |cuModuleLoadFatBinary
| |
| |
| |
| |-
| |
| |0x119040
| |
| |0x272
| |
| |cuModuleLoad
| |
| |
| |
| |-
| |
| |0x119510
| |
| |0x24d
| |
| |cuCtxPopCurrent
| |
| |
| |
| |-
| |
| |0x119760
| |
| |0x24d
| |
| |cuCtxPushCurrent
| |
| | | | | |
| | * Retrieves device name: |
| | <pre>RESULT: 0 0xc1d04277 0x5c000002 0x20800110 0x00000000 |
| | 0x0010 0x73be4970 0x00007fff 0x00000084 0x00000000 |
| | GPU method 0x5c000002:20800110 0x00000000 0x6f466547 0x20656372 0x20535447 |
| | 0x0010 0x4d303633 0x00000000 0x00000000 0x00000000 </pre> |
| | * 6f46654720656372205354474d303633 == "oFeG ecr STGM063" |
| |- | | |- |
| |} | | |} |
|
| |
|
| | | ==disassembly== |
| | These disassemblies makes use of <tt>libcuda.so.195.36.15</tt> (0867d66be617faab3782fa0ba19ec9ba, 7404990 bytes). Symbols were extracted via <tt>objdump -T</tt>. |
| | * AMD64 ABI: |
| | ** Integer arguments via RDI, RSI, RDX, RCX, R8 and R9, then stack |
| | ** FP arguments in XMM0..XMM7, then stack |
| | ** Return value in RAX |
| | ** [[libcuda traces]] |
|
| |
|
| ==See Also== | | ==See Also== |