clarify the purpose of this project
[nyanglibc.git] / locale / uselocale.s
blob638859ac66096f83ceede2148f793419320c0481
1 .text
2 .p2align 4,,15
3 .globl __uselocale
4 .hidden __uselocale
5 .type __uselocale, @function
6 __uselocale:
7 movq __libc_tsd_LOCALE@gottpoff(%rip), %rcx
8 testq %rdi, %rdi
9 leaq _nl_global_locale(%rip), %rdx
10 movq %fs:(%rcx), %rax
11 je .L2
12 cmpq $-1, %rdi
13 cmove %rdx, %rdi
14 cmpq $0, _nl_current_LC_COLLATE_used@GOTPCREL(%rip)
15 movq %rdi, %fs:(%rcx)
16 je .L4
17 movq _nl_current_LC_COLLATE@gottpoff(%rip), %rcx
18 leaq 24(%rdi), %rsi
19 movq %rsi, %fs:(%rcx)
20 .L4:
21 cmpq $0, _nl_current_LC_CTYPE_used@GOTPCREL(%rip)
22 je .L5
23 movq _nl_current_LC_CTYPE@gottpoff(%rip), %rcx
24 movq %rdi, %fs:(%rcx)
25 .L5:
26 cmpq $0, _nl_current_LC_MONETARY_used@GOTPCREL(%rip)
27 je .L6
28 movq _nl_current_LC_MONETARY@gottpoff(%rip), %rcx
29 leaq 32(%rdi), %rsi
30 movq %rsi, %fs:(%rcx)
31 .L6:
32 cmpq $0, _nl_current_LC_NUMERIC_used@GOTPCREL(%rip)
33 je .L7
34 movq _nl_current_LC_NUMERIC@gottpoff(%rip), %rcx
35 leaq 8(%rdi), %rsi
36 movq %rsi, %fs:(%rcx)
37 .L7:
38 cmpq $0, _nl_current_LC_TIME_used@GOTPCREL(%rip)
39 je .L8
40 movq _nl_current_LC_TIME@gottpoff(%rip), %rcx
41 leaq 16(%rdi), %rsi
42 movq %rsi, %fs:(%rcx)
43 .L8:
44 cmpq $0, _nl_current_LC_MESSAGES_used@GOTPCREL(%rip)
45 je .L9
46 movq _nl_current_LC_MESSAGES@gottpoff(%rip), %rcx
47 leaq 40(%rdi), %rsi
48 movq %rsi, %fs:(%rcx)
49 .L9:
50 cmpq $0, _nl_current_LC_PAPER_used@GOTPCREL(%rip)
51 je .L10
52 movq _nl_current_LC_PAPER@gottpoff(%rip), %rcx
53 leaq 56(%rdi), %rsi
54 movq %rsi, %fs:(%rcx)
55 .L10:
56 cmpq $0, _nl_current_LC_NAME_used@GOTPCREL(%rip)
57 je .L11
58 movq _nl_current_LC_NAME@gottpoff(%rip), %rcx
59 leaq 64(%rdi), %rsi
60 movq %rsi, %fs:(%rcx)
61 .L11:
62 cmpq $0, _nl_current_LC_ADDRESS_used@GOTPCREL(%rip)
63 je .L12
64 movq _nl_current_LC_ADDRESS@gottpoff(%rip), %rcx
65 leaq 72(%rdi), %rsi
66 movq %rsi, %fs:(%rcx)
67 .L12:
68 cmpq $0, _nl_current_LC_TELEPHONE_used@GOTPCREL(%rip)
69 je .L13
70 movq _nl_current_LC_TELEPHONE@gottpoff(%rip), %rcx
71 leaq 80(%rdi), %rsi
72 movq %rsi, %fs:(%rcx)
73 .L13:
74 cmpq $0, _nl_current_LC_MEASUREMENT_used@GOTPCREL(%rip)
75 je .L14
76 movq _nl_current_LC_MEASUREMENT@gottpoff(%rip), %rcx
77 leaq 88(%rdi), %rsi
78 movq %rsi, %fs:(%rcx)
79 .L14:
80 cmpq $0, _nl_current_LC_IDENTIFICATION_used@GOTPCREL(%rip)
81 je .L15
82 movq _nl_current_LC_IDENTIFICATION@gottpoff(%rip), %rcx
83 leaq 96(%rdi), %rsi
84 movq %rsi, %fs:(%rcx)
85 .L15:
86 movq 104(%rdi), %rsi
87 movq __libc_tsd_CTYPE_B@gottpoff(%rip), %rcx
88 movq %rsi, %fs:(%rcx)
89 movq 112(%rdi), %rsi
90 movq __libc_tsd_CTYPE_TOLOWER@gottpoff(%rip), %rcx
91 movq %rsi, %fs:(%rcx)
92 movq 120(%rdi), %rsi
93 movq __libc_tsd_CTYPE_TOUPPER@gottpoff(%rip), %rcx
94 movq %rsi, %fs:(%rcx)
95 .L2:
96 cmpq %rdx, %rax
97 movq $-1, %rdx
98 cmove %rdx, %rax
99 ret
100 .size __uselocale, .-__uselocale
101 .weak uselocale
102 .set uselocale,__uselocale
103 .weak _nl_current_LC_IDENTIFICATION
104 .weak _nl_current_LC_IDENTIFICATION_used
105 .weak _nl_current_LC_MEASUREMENT
106 .weak _nl_current_LC_MEASUREMENT_used
107 .weak _nl_current_LC_TELEPHONE
108 .weak _nl_current_LC_TELEPHONE_used
109 .weak _nl_current_LC_ADDRESS
110 .weak _nl_current_LC_ADDRESS_used
111 .weak _nl_current_LC_NAME
112 .weak _nl_current_LC_NAME_used
113 .weak _nl_current_LC_PAPER
114 .weak _nl_current_LC_PAPER_used
115 .weak _nl_current_LC_MESSAGES
116 .weak _nl_current_LC_MESSAGES_used
117 .weak _nl_current_LC_TIME
118 .weak _nl_current_LC_TIME_used
119 .weak _nl_current_LC_NUMERIC
120 .weak _nl_current_LC_NUMERIC_used
121 .weak _nl_current_LC_MONETARY
122 .weak _nl_current_LC_MONETARY_used
123 .weak _nl_current_LC_CTYPE
124 .weak _nl_current_LC_CTYPE_used
125 .weak _nl_current_LC_COLLATE
126 .weak _nl_current_LC_COLLATE_used
127 .hidden _nl_current_LC_IDENTIFICATION
128 .hidden _nl_current_LC_MEASUREMENT
129 .hidden _nl_current_LC_TELEPHONE
130 .hidden _nl_current_LC_ADDRESS
131 .hidden _nl_current_LC_NAME
132 .hidden _nl_current_LC_PAPER
133 .hidden _nl_current_LC_MESSAGES
134 .hidden _nl_current_LC_TIME
135 .hidden _nl_current_LC_NUMERIC
136 .hidden _nl_current_LC_MONETARY
137 .hidden _nl_current_LC_CTYPE
138 .hidden _nl_current_LC_COLLATE
139 .hidden _nl_global_locale