clarify the purpose of this project
[nyanglibc.git] / resource / nice.s
blob7736671a6bd12d8b5bc954173bb44f955df8575c
1 .text
2 .p2align 4,,15
3 .globl nice
4 .type nice, @function
5 nice:
6 pushq %r12
7 pushq %rbp
8 xorl %esi, %esi
9 pushq %rbx
10 movq __libc_errno@gottpoff(%rip), %rbx
11 movl %edi, %ebp
12 xorl %edi, %edi
13 movl %fs:(%rbx), %r12d
14 movl $0, %fs:(%rbx)
15 call __getpriority
16 cmpl $-1, %eax
17 jne .L2
18 movl %fs:(%rbx), %edx
19 testl %edx, %edx
20 jne .L5
21 .L2:
22 leal (%rax,%rbp), %edx
23 xorl %esi, %esi
24 xorl %edi, %edi
25 call __setpriority
26 cmpl $-1, %eax
27 jne .L4
28 cmpl $13, %fs:(%rbx)
29 je .L8
30 .L5:
31 popq %rbx
32 movl $-1, %eax
33 popq %rbp
34 popq %r12
35 ret
36 .p2align 4,,10
37 .p2align 3
38 .L4:
39 movl %r12d, %fs:(%rbx)
40 xorl %esi, %esi
41 xorl %edi, %edi
42 popq %rbx
43 popq %rbp
44 popq %r12
45 jmp __getpriority
46 .p2align 4,,10
47 .p2align 3
48 .L8:
49 movl $1, %fs:(%rbx)
50 popq %rbx
51 popq %rbp
52 popq %r12
53 ret
54 .size nice, .-nice
55 .hidden __setpriority
56 .hidden __getpriority