diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2022-02-21 08:32:32 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2022-05-16 15:03:49 -0300 |
commit | b46d250656794e63a2946c481fda29271342dd1a (patch) | |
tree | c2e056aa6ae5eb18f79a356b4bbd2f645446291c /sysdeps/unix/sysv/linux/dl-osinfo.h | |
parent | 97a912f7a832a662960749948049e15f3aecb2a7 (diff) | |
download | glibc-b46d250656794e63a2946c481fda29271342dd1a.tar glibc-b46d250656794e63a2946c481fda29271342dd1a.tar.gz glibc-b46d250656794e63a2946c481fda29271342dd1a.tar.bz2 glibc-b46d250656794e63a2946c481fda29271342dd1a.zip |
Remove kernel version check
The kernel version check is used to avoid glibc to run on older
kernels where some syscall are not available and fallback code are
not enabled to handle graciously fail. However, it does not prevent
if the kernel does not correctly advertise its version through
vDSO note, uname or procfs.
Also kernel version checks are sometime not desirable by users,
where they want to deploy on different system with different kernel
version knowing the minimum set of syscall is always presented on
such systems.
The kernel version check has been removed along with the
LD_ASSUME_KERNEL environment variable. The minimum kernel used to
built glibc is still provided through NT_GNU_ABI_TAG ELF note and
also printed when libc.so is issued.
Checked on x86_64-linux-gnu.
Diffstat (limited to 'sysdeps/unix/sysv/linux/dl-osinfo.h')
-rw-r--r-- | sysdeps/unix/sysv/linux/dl-osinfo.h | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/sysdeps/unix/sysv/linux/dl-osinfo.h b/sysdeps/unix/sysv/linux/dl-osinfo.h index 349d93e8ed..7888915f12 100644 --- a/sysdeps/unix/sysv/linux/dl-osinfo.h +++ b/sysdeps/unix/sysv/linux/dl-osinfo.h @@ -22,31 +22,6 @@ #include <stdint.h> #include <not-cancel.h> -#ifndef MIN -# define MIN(a,b) (((a)<(b))?(a):(b)) -#endif - -#define DL_SYSDEP_OSCHECK(FATAL) \ - do { \ - /* Test whether the kernel is new enough. This test is only performed \ - if the library is not compiled to run on all kernels. */ \ - \ - int version = _dl_discover_osversion (); \ - if (__glibc_likely (version >= 0)) \ - { \ - if (__builtin_expect (GLRO(dl_osversion) == 0, 1) \ - || GLRO(dl_osversion) > version) \ - GLRO(dl_osversion) = version; \ - \ - /* Now we can test with the required version. */ \ - if (__LINUX_KERNEL_VERSION > 0 && version < __LINUX_KERNEL_VERSION) \ - /* Not sufficent. */ \ - FATAL ("FATAL: kernel too old\n"); \ - } \ - else if (__LINUX_KERNEL_VERSION > 0) \ - FATAL ("FATAL: cannot determine kernel version\n"); \ - } while (0) - static inline uintptr_t __attribute__ ((always_inline)) _dl_setup_stack_chk_guard (void *dl_random) { |