From 097eca29e8f769673b5ed1b335542719280a556e Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 20 Dec 2002 07:12:24 +0000 Subject: 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 . --- sysdeps/unix/sysv/linux/i386/_exit.S | 4 +++- sysdeps/unix/sysv/linux/i386/getcontext.S | 4 ++-- sysdeps/unix/sysv/linux/i386/setcontext.S | 4 ++-- sysdeps/unix/sysv/linux/i386/swapcontext.S | 4 ++-- 4 files changed, 9 insertions(+), 7 deletions(-) (limited to 'sysdeps/unix/sysv') 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 , 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 , 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 , 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. */ -- cgit 1.4.1