diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-07-20 17:31:30 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-07-20 17:31:30 +0000 |
commit | 846c6907d02ba2d8027e2053abb3d7ec017d9191 (patch) | |
tree | 227ff298b144d49025018b7f02e9c9e0a2c46bcc /sysdeps/unix | |
parent | 864dd9b2d01ae0d277b543226a04f49001de3566 (diff) | |
download | glibc-846c6907d02ba2d8027e2053abb3d7ec017d9191.tar.gz glibc-846c6907d02ba2d8027e2053abb3d7ec017d9191.tar.xz glibc-846c6907d02ba2d8027e2053abb3d7ec017d9191.zip |
Update.
* sysdeps/unix/sysv/linux/ldsodefs.h (HAVE_AUX_XID): Define if __ASSUME_AT_XID is defined. * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_AT_XID): Define for 2.4.1 and up. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Optimize handling of AT_UID, AT_EUID, AT_GID, and AT_EGID.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r-- | sysdeps/unix/sysv/linux/kernel-features.h | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/ldsodefs.h | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h index 562a6c7654..927701a662 100644 --- a/sysdeps/unix/sysv/linux/kernel-features.h +++ b/sysdeps/unix/sysv/linux/kernel-features.h @@ -171,6 +171,12 @@ # define __ASSUME_AT_PAGESIZE 1 #endif +/* Starting with at least 2.4.0 the kernel passes the uid/gid unconditionally + up to the child. */ +#if __LINUX_KERNEL_VERSION >= 132097 +# define __ASSUME_AT_XID 1 +#endif + /* Starting with 2.4.5 kernels PPC passes the AUXV in the standard way and the mmap2 syscall made it into the official kernel. */ #if __LINUX_KERNEL_VERSION >= (132096+5) && defined __powerpc__ diff --git a/sysdeps/unix/sysv/linux/ldsodefs.h b/sysdeps/unix/sysv/linux/ldsodefs.h index 8e37f4df6a..a3c97c4731 100644 --- a/sysdeps/unix/sysv/linux/ldsodefs.h +++ b/sysdeps/unix/sysv/linux/ldsodefs.h @@ -36,8 +36,10 @@ extern void _dl_aux_init (ElfW(auxv_t) *av) internal_function; extern void _dl_non_dynamic_init (void) internal_function; /* We can assume that the kernel always provides the AT_UID, AT_EUID, - AT_GID, and AT_EGID values in the auxiliary vector. */ -#define HAVE_AUX_XID + AT_GID, and AT_EGID values in the auxiliary vector from 2.4.0 or so on. */ +#if __ASSUME_AT_XID +# define HAVE_AUX_XID +#endif /* Starting with one of the 2.4.0 pre-releases the Linux kernel passes up the page size information. */ |