From 6e86f21f71453d22341125b5dc5f0789ec0f85a5 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Tue, 13 Aug 2002 00:22:49 +0000 Subject: 2002-08-13 Jakub Jelinek * 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. --- sysdeps/unix/sysv/linux/i386/setegid.c | 3 ++- sysdeps/unix/sysv/linux/i386/seteuid.c | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'sysdeps/unix/sysv/linux/i386') diff --git a/sysdeps/unix/sysv/linux/i386/setegid.c b/sysdeps/unix/sysv/linux/i386/setegid.c index 880087c..8d7618c 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 bf38072..ba0b86d3 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) -- cgit v1.1