Line
Link Here
|
0 |
-- sysdeps/i386/nptl/tls.h |
0 |
++ sysdeps/i386/nptl/tls.h |
Lines 189-194
Link Here
|
189 |
desc->vals[3] = 0x51; |
189 |
desc->vals[3] = 0x51; |
190 |
} |
190 |
} |
191 |
|
191 |
|
|
|
192 |
/* We have no sysenter until the tls is initialized which is a |
193 |
problem on PIC. Thus we need to do the right call depending |
194 |
on the situation. */ |
195 |
#ifndef INTERNAL_SYSCALL_NOSYSENTER |
196 |
#define TLS_INIT_SYSCALL INTERNAL_SYSCALL |
197 |
#else |
198 |
#define TLS_INIT_SYSCALL INTERNAL_SYSCALL_NOSYSENTER |
199 |
#endif |
200 |
|
192 |
/* Code to initially initialize the thread pointer. This might need |
201 |
/* Code to initially initialize the thread pointer. This might need |
193 |
special attention since 'errno' is not yet available and if the |
202 |
special attention since 'errno' is not yet available and if the |
194 |
operation can cause a failure 'errno' must not be touched. */ |
203 |
operation can cause a failure 'errno' must not be touched. */ |
Lines 209-215
Link Here
|
209 |
\ |
218 |
\ |
210 |
/* Install the TLS. */ \ |
219 |
/* Install the TLS. */ \ |
211 |
INTERNAL_SYSCALL_DECL (err); \ |
220 |
INTERNAL_SYSCALL_DECL (err); \ |
212 |
_result = INTERNAL_SYSCALL (set_thread_area, err, 1, &_segdescr.desc); \ |
221 |
_result = TLS_INIT_SYSCALL (set_thread_area, err, 1, &_segdescr.desc); \ |
213 |
\ |
222 |
\ |
214 |
if (_result == 0) \ |
223 |
if (_result == 0) \ |
215 |
/* We know the index in the GDT, now load the segment register. \ |
224 |
/* We know the index in the GDT, now load the segment register. \ |