diff options
author | Ulrich Drepper <drepper@redhat.com> | 2009-08-04 11:03:46 -0700 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2009-08-04 11:03:46 -0700 |
commit | 421665c40ae002f74130eb4e0b19cb22d97860cf (patch) | |
tree | 78e155aac7fd869030ddad548afbf9dfaed6df0c /nptl/sysdeps/x86_64 | |
parent | 4a1377672ca5472fac9096b4da72d26226b4aa59 (diff) | |
download | glibc-421665c40ae002f74130eb4e0b19cb22d97860cf.tar.gz glibc-421665c40ae002f74130eb4e0b19cb22d97860cf.tar.xz glibc-421665c40ae002f74130eb4e0b19cb22d97860cf.zip |
Optimize x86-64 syscall cancellation handling.
The syscall wrappers had to save and restore the syscall parameter values and return value when calling the functions to enable/disable cancellation were called. Not anymore. The called functions are special and don't modify any unexpected registers.
Diffstat (limited to 'nptl/sysdeps/x86_64')
-rw-r--r-- | nptl/sysdeps/x86_64/tcb-offsets.sym | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/nptl/sysdeps/x86_64/tcb-offsets.sym b/nptl/sysdeps/x86_64/tcb-offsets.sym index 51f35c61cf..cf863752ee 100644 --- a/nptl/sysdeps/x86_64/tcb-offsets.sym +++ b/nptl/sysdeps/x86_64/tcb-offsets.sym @@ -16,3 +16,13 @@ VGETCPU_CACHE_OFFSET offsetof (tcbhead_t, vgetcpu_cache) PRIVATE_FUTEX offsetof (tcbhead_t, private_futex) #endif RTLD_SAVESPACE_SSE offsetof (tcbhead_t, rtld_savespace_sse) + +-- Not strictly offsets, but these values are also used in the TCB. +TCB_CANCELSTATE_BITMASK CANCELSTATE_BITMASK +TCB_CANCELTYPE_BITMASK CANCELTYPE_BITMASK +TCB_CANCELING_BITMASK CANCELING_BITMASK +TCB_CANCELED_BITMASK CANCELED_BITMASK +TCB_EXITING_BITMASK EXITING_BITMASK +TCB_CANCEL_RESTMASK CANCEL_RESTMASK +TCB_TERMINATED_BITMASK TERMINATED_BITMASK +TCB_PTHREAD_CANCELED PTHREAD_CANCELED |