summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/i386/getuid.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-02-11 19:44:58 +0000
committerUlrich Drepper <drepper@redhat.com>2000-02-11 19:44:58 +0000
commitcd090f718fe308b9d19779abec98cfc0248f92fc (patch)
tree489d2765269319ea2cece03ec5c212862a004cf8 /sysdeps/unix/sysv/linux/i386/getuid.c
parentb168cff285692e8cc7ba1f2f9646f4438e75f909 (diff)
Update.
2000-02-01 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/getresgid.c: Move... * sysdeps/unix/sysv/linux/i386/getresgid.c: ...here. (getresgid): Use getresgid32 if __libc_missing_32bit_uids is -1 or 0. * sysdeps/unix/sysv/linux/getresuid.c: Move... * sysdeps/unix/sysv/linux/i386/getresuid.c: ...here. (getresuid): Use getresuid32 if __libc_missing_32bit_uids is -1 or 0. * sysdeps/unix/sysv/linux/i386/getuid.c: Document new tristate __libc_missing_32bit_uids. (__getuid): Use 32bit uid syscall if __libc_missing_32bit_uids is -1 or 0. * sysdeps/unix/sysv/linux/i386/chown.c (__real_chown): Likewise. * sysdeps/unix/sysv/linux/i386/fchown.c (__fchown): Likewise. * sysdeps/unix/sysv/linux/i386/getegid.c (__getegid): Likewise. * sysdeps/unix/sysv/linux/i386/geteuid.c (__geteuid): Likewise. * sysdeps/unix/sysv/linux/i386/getgroups.c (__getgroups): Likewise. * sysdeps/unix/sysv/linux/i386/getgid.c (__getgid): Likewise. * sysdeps/unix/sysv/linux/i386/lchown.c (__lchown): Likewise. * sysdeps/unix/sysv/linux/i386/setfsgid.c (setfsgid): Likewise. * sysdeps/unix/sysv/linux/i386/setfsuid.c (setfsuid): Likewise. * sysdeps/unix/sysv/linux/i386/setgid.c (__setgid): Likewise. * sysdeps/unix/sysv/linux/i386/setgroups.c (setgroups): Likewise. * sysdeps/unix/sysv/linux/i386/setregid.c (__setregid): Likewise. * sysdeps/unix/sysv/linux/i386/setresgid.c (setresgid): Likewise. * sysdeps/unix/sysv/linux/i386/setresuid.c (__setresuid): Likewise. * sysdeps/unix/sysv/linux/i386/setreuid.c (__setreuid): Likewise. * sysdeps/unix/sysv/linux/i386/setuid.c (__setuid): Likewise. * sysdeps/unix/sysv/linux/m68k/chown.c (__chown): Likewise. * sysdeps/unix/sysv/linux/arm/getresuid.c: New file. * sysdeps/unix/sysv/linux/arm/getresgid.c: New file. * sysdeps/unix/sysv/linux/arm/msgctl.c: New file. * sysdeps/unix/sysv/linux/arm/semctl.c: New file. * sysdeps/unix/sysv/linux/arm/shmctl.c: New file. * sysdeps/unix/sysv/linux/i386/msgctl.c: New file. * sysdeps/unix/sysv/linux/i386/semctl.c: New file. * sysdeps/unix/sysv/linux/i386/shmctl.c: New file. * sysdeps/unix/sysv/linux/m68k/getresgid.c: New file. * sysdeps/unix/sysv/linux/m68k/getresuid.c: New file. * sysdeps/unix/sysv/linux/m68k/msgctl.c: New file. * sysdeps/unix/sysv/linux/m68k/semctl.c: New file. * sysdeps/unix/sysv/linux/m68k/shmctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/msgctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/shmctl.c: New file. * sysdeps/unix/sysv/linux/mips/syscalls.list (getresuid): Make syscall directly, no stubs needed. (getresgid): Likewise. * sysdeps/unix/sysv/linux/powerpc/syscalls.list (getresuid): Likewise. (getresgid): Likewise.
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386/getuid.c')
-rw-r--r--sysdeps/unix/sysv/linux/i386/getuid.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/getuid.c b/sysdeps/unix/sysv/linux/i386/getuid.c
index d160e4423a..97fd273805 100644
--- a/sysdeps/unix/sysv/linux/i386/getuid.c
+++ b/sysdeps/unix/sysv/linux/i386/getuid.c
@@ -30,8 +30,11 @@ extern int __syscall_getuid (void);
extern int __syscall_getuid32 (void);
# if __ASSUME_32BITUIDS == 0
/* This variable is shared with all files that need to check for 32bit
- uids. This is the definition */
-int __libc_missing_32bit_uids;
+ uids. This is the definition.
+ -1 if libc does not know yet whether kernel has 32bit uids or not.
+ 0 if it does have them.
+ 1 if it does not have them. */
+int __libc_missing_32bit_uids = -1;
# endif
#endif /* __NR_getuid32 */
@@ -42,7 +45,7 @@ __getuid (void)
return INLINE_SYSCALL (getuid32, 0);
#else
# ifdef __NR_getuid32
- if (!__libc_missing_32bit_uids)
+ if (__libc_missing_32bit_uids <= 0)
{
int result;
int saved_errno = errno;