aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-12-20 07:12:24 +0000
committerUlrich Drepper <drepper@redhat.com>2002-12-20 07:12:24 +0000
commit097eca29e8f769673b5ed1b335542719280a556e (patch)
treeaa70ad74f87ac91b5686399c41c2ff9ffbbe877e /sysdeps/unix
parent5f5843e30dda46ffc443c492959e206530837c98 (diff)
downloadglibc-097eca29e8f769673b5ed1b335542719280a556e.tar
glibc-097eca29e8f769673b5ed1b335542719280a556e.tar.gz
glibc-097eca29e8f769673b5ed1b335542719280a556e.tar.bz2
glibc-097eca29e8f769673b5ed1b335542719280a556e.zip
Update.
* sysdeps/unix/sysv/linux/i386/pthread_once.S: Use ENTER_KERNEL instead of int $0x80. * sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/libc-lowlevelmutex.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/lowlevelcond.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/lowlevelrwlock.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/lowlevelsem.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Likewise. * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Add support for using sysenter. * sysdeps/unix/sysv/linux/i386/lowlevelsem.h: Likewise. * sysdeps/i386/tls.h: Unconditionally include <dl-sysdep.h>.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/sysv/linux/i386/_exit.S4
-rw-r--r--sysdeps/unix/sysv/linux/i386/getcontext.S4
-rw-r--r--sysdeps/unix/sysv/linux/i386/setcontext.S4
-rw-r--r--sysdeps/unix/sysv/linux/i386/swapcontext.S4
4 files changed, 9 insertions, 7 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/_exit.S b/sysdeps/unix/sysv/linux/i386/_exit.S
index 5b4f8b1619..5c2e588409 100644
--- a/sysdeps/unix/sysv/linux/i386/_exit.S
+++ b/sysdeps/unix/sysv/linux/i386/_exit.S
@@ -27,11 +27,13 @@ _exit:
/* Try the new syscall first. */
#ifdef __NR_exit_group
movl $__NR_exit_group, %eax
- int $0x80
+ ENTER_KERNEL
#endif
/* Not available. Now the old one. */
movl $__NR_exit, %eax
+ /* Don't bother using ENTER_KERNEL here. If the exit_group
+ syscall is not available AT_SYSINFO isn't either. */
int $0x80
/* This must not fail. Be sure we don't return. */
diff --git a/sysdeps/unix/sysv/linux/i386/getcontext.S b/sysdeps/unix/sysv/linux/i386/getcontext.S
index 600a886863..9db129f5a6 100644
--- a/sysdeps/unix/sysv/linux/i386/getcontext.S
+++ b/sysdeps/unix/sysv/linux/i386/getcontext.S
@@ -1,5 +1,5 @@
/* Save current context.
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
@@ -63,7 +63,7 @@ ENTRY(__getcontext)
xorl %ecx, %ecx
movl $SIG_BLOCK, %ebx
movl $__NR_sigprocmask, %eax
- int $0x80
+ ENTER_KERNEL
popl %ebx
cmpl $-4095, %eax /* Check %eax for error. */
jae SYSCALL_ERROR_LABEL /* Jump to error handler if error. */
diff --git a/sysdeps/unix/sysv/linux/i386/setcontext.S b/sysdeps/unix/sysv/linux/i386/setcontext.S
index 58a122fc28..cbe9f08ce5 100644
--- a/sysdeps/unix/sysv/linux/i386/setcontext.S
+++ b/sysdeps/unix/sysv/linux/i386/setcontext.S
@@ -1,5 +1,5 @@
/* Install given context.
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
@@ -35,7 +35,7 @@ ENTRY(__setcontext)
leal oSIGMASK(%eax), %ecx
movl $SIG_SETMASK, %ebx
movl $__NR_sigprocmask, %eax
- int $0x80
+ ENTER_KERNEL
popl %ebx
cmpl $-4095, %eax /* Check %eax for error. */
jae SYSCALL_ERROR_LABEL /* Jump to error handler if error. */
diff --git a/sysdeps/unix/sysv/linux/i386/swapcontext.S b/sysdeps/unix/sysv/linux/i386/swapcontext.S
index 0c249437a5..e44e9301b0 100644
--- a/sysdeps/unix/sysv/linux/i386/swapcontext.S
+++ b/sysdeps/unix/sysv/linux/i386/swapcontext.S
@@ -1,5 +1,5 @@
/* Save current context and install the given one.
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
@@ -65,7 +65,7 @@ ENTRY(__swapcontext)
leal oSIGMASK(%ecx), %ecx
movl $SIG_SETMASK, %ebx
movl $__NR_sigprocmask, %eax
- int $0x80
+ ENTER_KERNEL
popl %ebx
cmpl $-4095, %eax /* Check %eax for error. */
jae SYSCALL_ERROR_LABEL /* Jump to error handler if error. */