aboutsummaryrefslogtreecommitdiff
path: root/linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-04-13 05:26:20 +0000
committerUlrich Drepper <drepper@redhat.com>2004-04-13 05:26:20 +0000
commite079c2285466ed0ddeed002a651c2e7ed7af5e8d (patch)
tree5d37a59b9ce2b94dea02d785e5cbe1b9348be0ff /linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
parent1b82c6c77d566ce3977c83b7ca47f09aac31e525 (diff)
downloadglibc-e079c2285466ed0ddeed002a651c2e7ed7af5e8d.tar
glibc-e079c2285466ed0ddeed002a651c2e7ed7af5e8d.tar.gz
glibc-e079c2285466ed0ddeed002a651c2e7ed7af5e8d.tar.bz2
glibc-e079c2285466ed0ddeed002a651c2e7ed7af5e8d.zip
Update.
2004-04-12 Ulrich Drepper <drepper@redhat.com> * rt/Makefile (tests): Add tst-timer3. * rt/tst-timer3.c: New file. By Roland McGrath.
Diffstat (limited to 'linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h')
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h b/linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
index baba152a77..ec21949a49 100644
--- a/linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
+++ b/linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2002.
@@ -95,6 +95,20 @@
# ifdef IS_IN_libpthread
# define CENABLE call __pthread_enable_asynccancel;
# define CDISABLE call __pthread_disable_asynccancel
+# elif defined IS_IN_librt
+# ifdef __PIC__
+# define CENABLE pushl %ebx; \
+ SETUP_PIC_REG(bx); \
+ call __librt_enable_asynccancel@PLT; \
+ popl %ebx;
+# define CDISABLE pushl %ebx; \
+ SETUP_PIC_REG(bx); \
+ call __librt_disable_asynccancel@PLT; \
+ popl %ebx;
+# else
+# define CENABLE call __librt_enable_asynccancel;
+# define CDISABLE call __librt_disable_asynccancel
+ #endif
# else
# define CENABLE call __libc_enable_asynccancel;
# define CDISABLE call __libc_disable_asynccancel