diff options
author | Roland McGrath <roland@gnu.org> | 2002-08-13 00:22:49 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2002-08-13 00:22:49 +0000 |
commit | 6e86f21f71453d22341125b5dc5f0789ec0f85a5 (patch) | |
tree | 8a12be55a3ccd9180a261c84fd2c6e5c8ac1c0e5 /sysdeps/unix/sysv/linux/i386 | |
parent | 0a02a366e3b06086e8e1c6a171bc178bca339693 (diff) | |
download | glibc-6e86f21f71453d22341125b5dc5f0789ec0f85a5.tar.gz glibc-6e86f21f71453d22341125b5dc5f0789ec0f85a5.tar.xz glibc-6e86f21f71453d22341125b5dc5f0789ec0f85a5.zip |
2002-08-13 Jakub Jelinek <jakub@redhat.com>
* include/unistd.h (seteuid, setegid): Add libc_hidden_proto. * sysdeps/generic/seteuid.c (seteuid): Add libc_hidden_def. * sysdeps/generic/setegid.c (setegid): Likewise. * sysdeps/mach/hurd/seteuid.c (seteuid): Likewise. * sysdeps/mach/hurd/setegid.c (setegid): Likewise. * sysdeps/unix/bsd/seteuid.c (seteuid): Likewise. * sysdeps/unix/bsd/setegid.c (setegid): Likewise. * sysdeps/unix/sysv/aix/seteuid.c (seteuid): Likewise. * sysdeps/unix/sysv/aix/setegid.c (setegid): Likewise. * sysdeps/unix/sysv/linux/i386/setegid.c (setegid): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c (seteuid): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c (setegid): Likewise. * sysdeps/unix/sysv/linux/seteuid.c (seteuid): Likewise. * sysdeps/unix/sysv/linux/setegid.c (setegid): Likewise. * sysdeps/unix/sysv/linux/i386/seteuid.c (seteuid): Likewise. Remove fallback if __ASSUME_SETRESUID_SYSCALL.
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386')
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/setegid.c | 3 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/seteuid.c | 7 |
2 files changed, 8 insertions, 2 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/setegid.c b/sysdeps/unix/sysv/linux/i386/setegid.c index 880087c064..8d7618cdd6 100644 --- a/sysdeps/unix/sysv/linux/i386/setegid.c +++ b/sysdeps/unix/sysv/linux/i386/setegid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 96, 97, 98, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1995, 96, 97, 98, 2000, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -25,3 +25,4 @@ setegid (gid) { return __setregid (-1, gid); } +libc_hidden_def (setegid) diff --git a/sysdeps/unix/sysv/linux/i386/seteuid.c b/sysdeps/unix/sysv/linux/i386/seteuid.c index bf38072e0d..ba0b86d318 100644 --- a/sysdeps/unix/sysv/linux/i386/seteuid.c +++ b/sysdeps/unix/sysv/linux/i386/seteuid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1998, 2000, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -33,7 +33,11 @@ seteuid (uid_t uid) /* First try the syscall. */ #ifdef __NR_setresuid result = __setresuid (-1, uid, -1); +#if __ASSUME_SETRESUID_SYSCALL > 0 + if (0) +#else if (result == -1 && errno == ENOSYS) +#endif /* No system call available. Use emulation. This may not work since `setreuid' also sets the saved user ID when UID is not equal to the real user ID, making it impossible to switch back. */ @@ -42,3 +46,4 @@ seteuid (uid_t uid) return result; } +libc_hidden_def (seteuid) |