src/sysdep1.o: file format pe-x86-64 Disassembly of section .text: 0000000000000000 : if INTERRUPTIBLE, and then retry the read unless quitting. Return the number of bytes read, which might be less than NBYTE. On error, set errno to a value other than EINTR, and return -1. */ static ptrdiff_t emacs_intr_read (int fd, void *buf, ptrdiff_t nbyte, bool interruptible) { 0: 41 56 push %r14 2: 41 55 push %r13 4: 41 54 push %r12 6: 55 push %rbp 7: 57 push %rdi 8: 56 push %rsi 9: 53 push %rbx a: 48 83 ec 20 sub $0x20,%rsp e: 4c 8b 2d 00 00 00 00 mov 0x0(%rip),%r13 # 15 { if (interruptible) maybe_quit (); result = read (fd, buf, nbyte); } while (result < 0 && errno == EINTR); 15: 4c 8b 35 00 00 00 00 mov 0x0(%rip),%r14 # 1c { 1c: 41 89 cc mov %ecx,%r12d 1f: 48 89 d5 mov %rdx,%rbp 22: 44 89 cf mov %r9d,%edi result = read (fd, buf, nbyte); 25: 44 89 c6 mov %r8d,%esi 28: eb 22 jmp 4c 2a: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1) __mingw_bos_extern_ovr int _read(int __fh, void * __dst, unsigned int __n) { __mingw_bos_ptr_chk_warn(__dst, __n, 0); return __mingw_call__read(__fh, __dst, __n); 30: 41 89 f0 mov %esi,%r8d 33: 48 89 ea mov %rbp,%rdx 36: 44 89 e1 mov %r12d,%ecx 39: 41 ff d5 call *%r13 3c: 48 63 d8 movslq %eax,%rbx while (result < 0 && errno == EINTR); 3f: 48 85 db test %rbx,%rbx 42: 79 1c jns 60 44: 41 ff d6 call *%r14 47: 83 38 04 cmpl $0x4,(%rax) 4a: 75 14 jne 60 if (interruptible) 4c: 40 84 ff test %dil,%dil 4f: 74 df je 30 maybe_quit (); 51: e8 00 00 00 00 call 56 56: eb d8 jmp 30 58: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1) 5f: 00 return result; } 60: 48 89 d8 mov %rbx,%rax 63: 48 83 c4 20 add $0x20,%rsp 67: 5b pop %rbx 68: 5e pop %rsi 69: 5f pop %rdi 6a: 5d pop %rbp 6b: 41 5c pop %r12 6d: 41 5d pop %r13 6f: 41 5e pop %r14 71: c3 ret 72: 66 66 2e 0f 1f 84 00 data16 cs nopw 0x0(%rax,%rax,1) 79: 00 00 00 00 7d: 0f 1f 00 nopl (%rax) 0000000000000080 : ptrdiff_t emacs_read (int fd, void *buf, ptrdiff_t nbyte) { 80: 48 83 ec 28 sub $0x28,%rsp return emacs_intr_read (fd, buf, nbyte, false); 84: 45 31 c9 xor %r9d,%r9d 87: e8 74 ff ff ff call 0 } 8c: 48 83 c4 28 add $0x28,%rsp 90: c3 ret 91: 66 66 2e 0f 1f 84 00 data16 cs nopw 0x0(%rax,%rax,1) 98: 00 00 00 00 9c: 0f 1f 40 00 nopl 0x0(%rax) 00000000000000a0 : /* Like emacs_read, but also process quits and pending signals. */ ptrdiff_t emacs_read_quit (int fd, void *buf, ptrdiff_t nbyte) { a0: 48 83 ec 28 sub $0x28,%rsp return emacs_intr_read (fd, buf, nbyte, true); a4: 41 b9 01 00 00 00 mov $0x1,%r9d aa: e8 51 ff ff ff call 0 } af: 48 83 c4 28 add $0x28,%rsp b3: c3 ret b4: 90 nop b5: 90 nop b6: 90 nop b7: 90 nop b8: 90 nop b9: 90 nop ba: 90 nop bb: 90 nop bc: 90 nop bd: 90 nop be: 90 nop bf: 90 nop