clarify the purpose of this project
[nyanglibc.git] / debug / fread_u_chk.s
blobe726875701e2a8e28b4cb56d052a89f25e920d77
1 .text
2 .p2align 4,,15
3 .globl __fread_unlocked_chk
4 .type __fread_unlocked_chk, @function
5 __fread_unlocked_chk:
6 .LFB68:
7 pushq %rbp
8 pushq %rbx
9 movq %rdx, %rbp
10 movq %rdx, %rbx
11 movl $4294967295, %eax
12 orq %rcx, %rdx
13 subq $24, %rsp
14 imulq %rcx, %rbx
15 cmpq %rax, %rdx
16 jbe .L2
17 testq %rbp, %rbp
18 jne .L17
19 .L2:
20 cmpq %rsi, %rbx
21 ja .L3
22 testq %rbx, %rbx
23 jne .L18
24 addq $24, %rsp
25 movq %rbx, %rax
26 popq %rbx
27 popq %rbp
28 ret
29 .p2align 4,,10
30 .p2align 3
31 .L18:
32 movq %rdi, %rsi
33 movq %rbx, %rdx
34 movq %r8, %rdi
35 movq %rcx, 8(%rsp)
36 call _IO_sgetn
37 cmpq %rax, %rbx
38 movq 8(%rsp), %rcx
39 je .L5
40 xorl %edx, %edx
41 addq $24, %rsp
42 divq %rbp
43 movq %rax, %rbx
44 movq %rbx, %rax
45 popq %rbx
46 popq %rbp
47 ret
48 .p2align 4,,10
49 .p2align 3
50 .L17:
51 xorl %edx, %edx
52 movq %rbx, %rax
53 divq %rbp
54 cmpq %rcx, %rax
55 je .L2
56 .p2align 4,,10
57 .p2align 3
58 .L3:
59 call __chk_fail
60 .p2align 4,,10
61 .p2align 3
62 .L5:
63 movq %rcx, %rbx
64 addq $24, %rsp
65 movq %rbx, %rax
66 popq %rbx
67 popq %rbp
68 ret
69 .LFE68:
70 .size __fread_unlocked_chk, .-__fread_unlocked_chk
71 .hidden __chk_fail
72 .hidden _IO_sgetn