* sysdeps/i386/tls.h (TLS_DO_SET_THREAD_AREA): Calculate segment

register value from entry number properly.
This commit is contained in:
Roland McGrath 2002-08-17 06:54:04 +00:00
parent 25cb6eb229
commit 3ed35099c1
2 changed files with 4 additions and 1 deletions

View File

@ -1,5 +1,8 @@
2002-08-16 Roland McGrath <roland@redhat.com>
* sysdeps/i386/tls.h (TLS_DO_SET_THREAD_AREA): Calculate segment
register value from entry number properly.
* sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT): Rewrite asm to use %ebx
optimally conditional on [__PIC__].
(TLS_DO_SET_THREAD_AREA): New macro, implement inline syscall

View File

@ -130,7 +130,7 @@ typedef struct
to let the compiler know that we are accessing LDT_ENTRY \
here. */ \
TLS_EBX_ARG (&ldt_entry), "m" (ldt_entry)); \
__builtin_expect (result, 0) == 0 ? ldt_entry.entry_number : -1; \
__builtin_expect (result, 0) == 0 ? ldt_entry.entry_number * 8 + 3 : -1; \
})
# ifdef __ASSUME_SET_THREAD_AREA_SYSCALL