diff options
author | Ulrich Drepper <drepper@redhat.com> | 2001-01-19 05:16:45 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2001-01-19 05:16:45 +0000 |
commit | 4e56fdbce36cc1d2bbd853589809b4f7ad634fc3 (patch) | |
tree | cf7bbf7f8f1d362358cd356a5a6e8917bdedfd89 /sysdeps/unix/sysv/linux | |
parent | 5287b1d872e7aaade168b1848322cd513bebfabf (diff) | |
download | glibc-4e56fdbce36cc1d2bbd853589809b4f7ad634fc3.tar glibc-4e56fdbce36cc1d2bbd853589809b4f7ad634fc3.tar.gz glibc-4e56fdbce36cc1d2bbd853589809b4f7ad634fc3.tar.bz2 glibc-4e56fdbce36cc1d2bbd853589809b4f7ad634fc3.zip |
Update.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): If HAVE_AUX_XID is
defined don't look whether the AT_*ID values were set.
If HAVE_AUX_PAGESIZE is defined don't look whether the pagesize is set.
(_dl_show_auxv): Rewrite to avoid switch statement.
* sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_AT_PAGESIZE for kernel >= 2.4.1.
* sysdeps/unix/sysv/linux/ldsodefs.h: Define HAVE_AUX_XID.
Define HAVE_AUX_PAGESIZE if __ASSUME_AT_PAGESIZE is defined.
Diffstat (limited to 'sysdeps/unix/sysv/linux')
-rw-r--r-- | sysdeps/unix/sysv/linux/kernel-features.h | 8 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/ldsodefs.h | 12 |
2 files changed, 19 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h index 563a7e911e..bbbae67839 100644 --- a/sysdeps/unix/sysv/linux/kernel-features.h +++ b/sysdeps/unix/sysv/linux/kernel-features.h @@ -1,6 +1,6 @@ /* Set flags signalling availability of kernel features based on given kernel version number. - Copyright (C) 1999, 2000 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2001 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 @@ -157,3 +157,9 @@ #if __LINUX_KERNEL_VERSION >= 131939 # define __ASSUME_O_DIRECTORY 1 #endif + +/* Starting with one of the 2.4.0 pre-releases the Linux kernel passes + up the page size information. */ +#if __LINUX_KERNEL_VERSION >= 132097 +# define __ASSUME_AT_PAGESIZE 1 +#endif diff --git a/sysdeps/unix/sysv/linux/ldsodefs.h b/sysdeps/unix/sysv/linux/ldsodefs.h index 1bfe6c38af..b495e555c0 100644 --- a/sysdeps/unix/sysv/linux/ldsodefs.h +++ b/sysdeps/unix/sysv/linux/ldsodefs.h @@ -19,6 +19,8 @@ #ifndef _LDSODEFS_H +#include "kernel-features.h" + /* Get the real definitions. */ #include_next <ldsodefs.h> @@ -30,4 +32,14 @@ /* Used by static binaries to check the auxiliary vector. */ extern void _dl_aux_init (ElfW(auxv_t) *av) 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 + +/* Starting with one of the 2.4.0 pre-releases the Linux kernel passes + up the page size information. */ +#if __ASSUME_AT_PAGESIZE +# define HAVE_AUX_PAGESIZE +#endif + #endif /* ldsodefs.h */ |