aboutsummaryrefslogtreecommitdiff
path: root/nptl/sysdeps/x86_64
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2009-08-04 11:03:46 -0700
committerUlrich Drepper <drepper@redhat.com>2009-08-04 11:03:46 -0700
commit421665c40ae002f74130eb4e0b19cb22d97860cf (patch)
tree78e155aac7fd869030ddad548afbf9dfaed6df0c /nptl/sysdeps/x86_64
parent4a1377672ca5472fac9096b4da72d26226b4aa59 (diff)
downloadglibc-421665c40ae002f74130eb4e0b19cb22d97860cf.zip
glibc-421665c40ae002f74130eb4e0b19cb22d97860cf.tar.gz
glibc-421665c40ae002f74130eb4e0b19cb22d97860cf.tar.bz2
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.sym10
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 51f35c6..cf86375 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