Line
Link Here
|
0 |
-- sysdeps/x86_64/memcmp.S |
0 |
++ sysdeps/x86_64/memcmp.S |
Lines 7-15
Link Here
|
7 |
# INCLUDED WITH THIS FILE |
7 |
# INCLUDED WITH THIS FILE |
8 |
|
8 |
|
9 |
#include "sysdep.h" |
9 |
#include "sysdep.h" |
10 |
#include <rtld-global-offsets.h> |
10 |
#if defined PIC && defined SHARED |
|
|
11 |
# include <rtld-global-offsets.h> |
12 |
#endif |
11 |
|
13 |
|
12 |
#ifdef PIC |
14 |
#if defined PIC && defined SHARED |
13 |
.globl _rtld_local_ro |
15 |
.globl _rtld_local_ro |
14 |
.hidden _rtld_local_ro |
16 |
.hidden _rtld_local_ro |
15 |
.set _rtld_local_ro,_rtld_global_ro |
17 |
.set _rtld_local_ro,_rtld_global_ro |
Lines 130-137
Link Here
|
130 |
L(memcmp32after): |
132 |
L(memcmp32after): |
131 |
|
133 |
|
132 |
#ifdef PIC |
134 |
#ifdef PIC |
|
|
135 |
# ifdef SHARED |
133 |
mov _rtld_local_ro@GOTPCREL(%rip), %r8 |
136 |
mov _rtld_local_ro@GOTPCREL(%rip), %r8 |
134 |
mov RTLD_GLOBAL_DL_CACHE1SIZEHALF(%r8), %r9 |
137 |
mov RTLD_GLOBAL_DL_CACHE1SIZEHALF(%r8), %r9 |
|
|
138 |
# else |
139 |
mov _dl_cache1sizehalf@GOTPCREL(%rip), %r8 |
140 |
mov (%r8), %r9 |
141 |
# endif |
135 |
#else |
142 |
#else |
136 |
mov _dl_cache1sizehalf, %r9 |
143 |
mov _dl_cache1sizehalf, %r9 |
137 |
#endif |
144 |
#endif |
Lines 170-177
Link Here
|
170 |
|
177 |
|
171 |
L(memcmp64try): |
178 |
L(memcmp64try): |
172 |
#ifdef PIC |
179 |
#ifdef PIC |
|
|
180 |
# ifdef SHARED |
173 |
mov _rtld_local_ro@GOTPCREL(%rip), %r8 |
181 |
mov _rtld_local_ro@GOTPCREL(%rip), %r8 |
174 |
mov RTLD_GLOBAL_DL_CACHE1SIZEHALF(%r8), %rcx |
182 |
mov RTLD_GLOBAL_DL_CACHE1SIZEHALF(%r8), %rcx |
|
|
183 |
# else |
184 |
mov _dl_cache1sizehalf@GOTPCREL(%rip), %r8 |
185 |
mov (%r8), %rcx |
186 |
# endif |
175 |
#else |
187 |
#else |
176 |
mov _dl_cache1sizehalf, %rcx |
188 |
mov _dl_cache1sizehalf, %rcx |
177 |
#endif |
189 |
#endif |
Lines 242-249
Link Here
|
242 |
|
254 |
|
243 |
L(memcmppre): # 64-byte prefetching |
255 |
L(memcmppre): # 64-byte prefetching |
244 |
#ifdef PIC |
256 |
#ifdef PIC |
|
|
257 |
# ifdef SHARED |
245 |
mov _rtld_local_ro@GOTPCREL(%rip), %r8 |
258 |
mov _rtld_local_ro@GOTPCREL(%rip), %r8 |
246 |
mov RTLD_GLOBAL_DL_CACHE2SIZEHALF(%r8), %rcx |
259 |
mov RTLD_GLOBAL_DL_CACHE2SIZEHALF(%r8), %rcx |
|
|
260 |
# else |
261 |
mov _dl_cache2sizehalf@GOTPCREL(%rip), %r8 |
262 |
mov (%r8), %rcx |
263 |
# endif |
247 |
#else |
264 |
#else |
248 |
mov _dl_cache2sizehalf, %rcx |
265 |
mov _dl_cache2sizehalf, %rcx |
249 |
#endif |
266 |
#endif |
250 |
-- sysdeps/x86_64/memcpy.S |
267 |
++ sysdeps/x86_64/memcpy.S |
Lines 8-14
Link Here
|
8 |
#include "asm-syntax.h" |
8 |
#include "asm-syntax.h" |
9 |
#include "bp-sym.h" |
9 |
#include "bp-sym.h" |
10 |
#include "bp-asm.h" |
10 |
#include "bp-asm.h" |
11 |
#include <rtld-global-offsets.h> |
11 |
#if defined PIC && defined SHARED |
|
|
12 |
# include <rtld-global-offsets.h> |
13 |
#endif |
12 |
|
14 |
|
13 |
/* BEWARE: `#ifdef memcpy' means that memcpy is redefined as `mempcpy', |
15 |
/* BEWARE: `#ifdef memcpy' means that memcpy is redefined as `mempcpy', |
14 |
and the return value is the byte after the last one copied in |
16 |
and the return value is the byte after the last one copied in |
Lines 20-26
Link Here
|
20 |
#endif |
22 |
#endif |
21 |
|
23 |
|
22 |
|
24 |
|
23 |
#ifdef PIC |
25 |
#if defined PIC && defined SHARED |
24 |
.globl _rtld_local_ro |
26 |
.globl _rtld_local_ro |
25 |
.hidden _rtld_local_ro |
27 |
.hidden _rtld_local_ro |
26 |
.set _rtld_local_ro,_rtld_global_ro |
28 |
.set _rtld_local_ro,_rtld_global_ro |
Lines 187-194
Link Here
|
187 |
|
189 |
|
188 |
LABEL(32after): |
190 |
LABEL(32after): |
189 |
#ifdef PIC |
191 |
#ifdef PIC |
|
|
192 |
# ifdef SHARED |
190 |
mov _rtld_local_ro@GOTPCREL(%rip), %r8 |
193 |
mov _rtld_local_ro@GOTPCREL(%rip), %r8 |
191 |
mov RTLD_GLOBAL_DL_CACHE1SIZE(%r8), %r9 |
194 |
mov RTLD_GLOBAL_DL_CACHE1SIZE(%r8), %r9 |
|
|
195 |
# else |
196 |
mov _dl_cache1size@GOTPCREL(%rip), %r8 |
197 |
mov (%r8), %r9 |
198 |
# endif |
192 |
#else |
199 |
#else |
193 |
mov _dl_cache1size, %r9 |
200 |
mov _dl_cache1size, %r9 |
194 |
#endif |
201 |
#endif |
Lines 223-230
Link Here
|
223 |
|
230 |
|
224 |
LABEL(fasttry): |
231 |
LABEL(fasttry): |
225 |
#ifdef PIC |
232 |
#ifdef PIC |
|
|
233 |
# ifdef SHARED |
226 |
mov _rtld_local_ro@GOTPCREL(%rip), %r9 |
234 |
mov _rtld_local_ro@GOTPCREL(%rip), %r9 |
227 |
mov RTLD_GLOBAL_DL_CACHE1SIZEHALF(%r9), %r11 |
235 |
mov RTLD_GLOBAL_DL_CACHE1SIZEHALF(%r9), %r11 |
|
|
236 |
# else |
237 |
mov _dl_cache1sizehalf@GOTPCREL(%rip), %r9 |
238 |
mov (%r9), %r11 |
239 |
# endif |
228 |
#else |
240 |
#else |
229 |
mov _dl_cache1sizehalf, %r11 |
241 |
mov _dl_cache1sizehalf, %r11 |
230 |
#endif |
242 |
#endif |
Lines 336-343
Link Here
|
336 |
|
348 |
|
337 |
LABEL(pretry): |
349 |
LABEL(pretry): |
338 |
#ifdef PIC |
350 |
#ifdef PIC |
|
|
351 |
# ifdef SHARED |
339 |
mov _rtld_local_ro@GOTPCREL(%rip), %r11 |
352 |
mov _rtld_local_ro@GOTPCREL(%rip), %r11 |
340 |
mov RTLD_GLOBAL_DL_CACHE2SIZEHALF(%r11), %r8 |
353 |
mov RTLD_GLOBAL_DL_CACHE2SIZEHALF(%r11), %r8 |
|
|
354 |
# else |
355 |
mov _dl_cache2sizehalf@GOTPCREL(%rip), %r11 |
356 |
mov (%r11), %r8 |
357 |
# endif |
341 |
#else |
358 |
#else |
342 |
mov _dl_cache2sizehalf, %r8 |
359 |
mov _dl_cache2sizehalf, %r8 |
343 |
#endif |
360 |
#endif |
344 |
-- sysdeps/x86_64/memset.S |
361 |
++ sysdeps/x86_64/memset.S |
Lines 9-20
Link Here
|
9 |
#include "asm-syntax.h" |
9 |
#include "asm-syntax.h" |
10 |
#include "bp-sym.h" |
10 |
#include "bp-sym.h" |
11 |
#include "bp-asm.h" |
11 |
#include "bp-asm.h" |
12 |
#include <rtld-global-offsets.h> |
12 |
#if defined PIC && defined SHARED |
|
|
13 |
# include <rtld-global-offsets.h> |
14 |
#endif |
13 |
|
15 |
|
14 |
/* BEWARE: `#ifdef memset' means that memset is redefined as `bzero' */ |
16 |
/* BEWARE: `#ifdef memset' means that memset is redefined as `bzero' */ |
15 |
#define BZERO_P (defined memset) |
17 |
#define BZERO_P (defined memset) |
16 |
|
18 |
|
17 |
#ifdef PIC |
19 |
#if defined PIC && defined SHARED |
18 |
.globl _rtld_local_ro |
20 |
.globl _rtld_local_ro |
19 |
.hidden _rtld_local_ro |
21 |
.hidden _rtld_local_ro |
20 |
.set _rtld_local_ro,_rtld_global_ro |
22 |
.set _rtld_local_ro,_rtld_global_ro |
Lines 151-158
Link Here
|
151 |
LABEL(32after): |
153 |
LABEL(32after): |
152 |
|
154 |
|
153 |
#ifdef PIC |
155 |
#ifdef PIC |
|
|
156 |
# ifdef SHARED |
154 |
mov _rtld_local_ro@GOTPCREL(%rip), %r8 |
157 |
mov _rtld_local_ro@GOTPCREL(%rip), %r8 |
155 |
mov RTLD_GLOBAL_DL_CACHE1SIZEHALF(%r8), %r9 |
158 |
mov RTLD_GLOBAL_DL_CACHE1SIZEHALF(%r8), %r9 |
|
|
159 |
# else |
160 |
mov _dl_cache1sizehalf@GOTPCREL(%rip), %r8 |
161 |
mov (%r8), %r9 |
162 |
# endif |
156 |
#else |
163 |
#else |
157 |
mov _dl_cache1sizehalf, %r9 |
164 |
mov _dl_cache1sizehalf, %r9 |
158 |
#endif |
165 |
#endif |
Lines 182-189
Link Here
|
182 |
|
189 |
|
183 |
LABEL(alignafter): |
190 |
LABEL(alignafter): |
184 |
#ifdef PIC |
191 |
#ifdef PIC |
|
|
192 |
# ifdef SHARED |
185 |
mov _rtld_local_ro@GOTPCREL(%rip), %r9 |
193 |
mov _rtld_local_ro@GOTPCREL(%rip), %r9 |
186 |
mov RTLD_GLOBAL_DL_CACHE2SIZEHALF(%r9), %r8 |
194 |
mov RTLD_GLOBAL_DL_CACHE2SIZEHALF(%r9), %r8 |
|
|
195 |
# else |
196 |
mov _dl_cache2sizehalf@GOTPCREL(%rip), %r9 |
197 |
mov (%r9), %r8 |
198 |
# endif |
187 |
# For MP System half cache size is better, for UP full cache size |
199 |
# For MP System half cache size is better, for UP full cache size |
188 |
# is better -> use half cache size only |
200 |
# is better -> use half cache size only |
189 |
#else |
201 |
#else |
190 |
-- sysdeps/x86_64/strcpy.S |
202 |
++ sysdeps/x86_64/strcpy.S |
Lines 7-16
Link Here
|
7 |
# INCLUDED WITH THIS FILE |
7 |
# INCLUDED WITH THIS FILE |
8 |
|
8 |
|
9 |
#include "sysdep.h" |
9 |
#include "sysdep.h" |
10 |
#include <rtld-global-offsets.h> |
10 |
#if defined PIC && defined SHARED |
|
|
11 |
# include <rtld-global-offsets.h> |
12 |
#endif |
11 |
|
13 |
|
12 |
/* XXX: strncpy is broken, just use this for strcpy for now. */ |
14 |
/* XXX: strncpy is broken, just use this for strcpy for now. */ |
13 |
#ifdef PIC |
15 |
#if defined PIC && defined SHARED |
14 |
.globl _rtld_local_ro |
16 |
.globl _rtld_local_ro |
15 |
.hidden _rtld_local_ro |
17 |
.hidden _rtld_local_ro |
16 |
.set _rtld_local_ro,_rtld_global_ro |
18 |
.set _rtld_local_ro,_rtld_global_ro |
Lines 216-223
Link Here
|
216 |
|
218 |
|
217 |
LABEL(64try): |
219 |
LABEL(64try): |
218 |
#ifdef PIC |
220 |
#ifdef PIC |
|
|
221 |
# ifdef SHARED |
219 |
mov _rtld_local_ro@GOTPCREL(%rip), %r8 |
222 |
mov _rtld_local_ro@GOTPCREL(%rip), %r8 |
220 |
mov RTLD_GLOBAL_DL_CACHE1SIZEHALF(%r8), %r9 |
223 |
mov RTLD_GLOBAL_DL_CACHE1SIZEHALF(%r8), %r9 |
|
|
224 |
# else |
225 |
mov _dl_cache1sizehalf@GOTPCREL(%rip), %r8 |
226 |
mov (%r8), %r9 |
227 |
# endif |
221 |
#else |
228 |
#else |
222 |
mov _dl_cache1sizehalf, %r9 |
229 |
mov _dl_cache1sizehalf, %r9 |
223 |
#endif |
230 |
#endif |
Lines 380-387
Link Here
|
380 |
|
387 |
|
381 |
LABEL(pretry): |
388 |
LABEL(pretry): |
382 |
#ifdef PIC |
389 |
#ifdef PIC |
|
|
390 |
# ifdef SHARED |
383 |
mov _rtld_local_ro@GOTPCREL(%rip), %r8 |
391 |
mov _rtld_local_ro@GOTPCREL(%rip), %r8 |
384 |
mov RTLD_GLOBAL_DL_CACHE2SIZEHALF(%r8), %r9 |
392 |
mov RTLD_GLOBAL_DL_CACHE2SIZEHALF(%r8), %r9 |
|
|
393 |
# else |
394 |
mov _dl_cache2sizehalf@GOTPCREL(%rip), %r8 |
395 |
mov (%r8), %r9 |
396 |
# endif |
385 |
#else |
397 |
#else |
386 |
mov _dl_cache2sizehalf, %r9 |
398 |
mov _dl_cache2sizehalf, %r9 |
387 |
#endif |
399 |
#endif |
388 |
-- sysdeps/x86_64/strlen.S |
400 |
++ sysdeps/x86_64/strlen.S |
Lines 7-15
Link Here
|
7 |
# INCLUDED WITH THIS FILE |
7 |
# INCLUDED WITH THIS FILE |
8 |
|
8 |
|
9 |
#include "sysdep.h" |
9 |
#include "sysdep.h" |
10 |
#include <rtld-global-offsets.h> |
10 |
#if defined PIC && defined SHARED |
|
|
11 |
# include <rtld-global-offsets.h> |
12 |
#endif |
11 |
|
13 |
|
12 |
#ifdef PIC |
14 |
#if defined PIC && defined SHARED |
13 |
.globl _rtld_local_ro |
15 |
.globl _rtld_local_ro |
14 |
.hidden _rtld_local_ro |
16 |
.hidden _rtld_local_ro |
15 |
.set _rtld_local_ro,_rtld_global_ro |
17 |
.set _rtld_local_ro,_rtld_global_ro |
Lines 141-148
Link Here
|
141 |
# mov (%rsi), %rax |
143 |
# mov (%rsi), %rax |
142 |
|
144 |
|
143 |
#ifdef PIC |
145 |
#ifdef PIC |
|
|
146 |
# ifdef SHARED |
144 |
mov _rtld_local_ro@GOTPCREL(%rip), %r8 |
147 |
mov _rtld_local_ro@GOTPCREL(%rip), %r8 |
145 |
mov RTLD_GLOBAL_DL_CACHE1SIZE(%r8), %r9 |
148 |
mov RTLD_GLOBAL_DL_CACHE1SIZE(%r8), %r9 |
|
|
149 |
# else |
150 |
mov _dl_cache1size@GOTPCREL(%rip), %r8 |
151 |
mov (%r8), %r9 |
152 |
# endif |
146 |
#else |
153 |
#else |
147 |
mov _dl_cache1size, %r9 |
154 |
mov _dl_cache1size, %r9 |
148 |
#endif |
155 |
#endif |