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 /elf/rtld.c | |
parent | 97a912f7a832a662960749948049e15f3aecb2a7 (diff) | |
download | glibc-b46d250656794e63a2946c481fda29271342dd1a.tar.gz glibc-b46d250656794e63a2946c481fda29271342dd1a.tar.xz 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 'elf/rtld.c')
-rw-r--r-- | elf/rtld.c | 15 |
1 files changed, 0 insertions, 15 deletions
diff --git a/elf/rtld.c b/elf/rtld.c index 3b2e05bf4c..a8cf9daef0 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -384,9 +384,6 @@ struct rtld_global_ro _rtld_global_ro attribute_relro = ._dl_error_free = _dl_error_free, ._dl_tls_get_addr_soft = _dl_tls_get_addr_soft, ._dl_libc_freeres = __rtld_libc_freeres, -#ifdef HAVE_DL_DISCOVER_OSVERSION - ._dl_discover_osversion = _dl_discover_osversion -#endif }; /* If we would use strong_alias here the compiler would see a non-hidden definition. This would undo the effect of the previous @@ -1710,10 +1707,6 @@ dl_main (const ElfW(Phdr) *phdr, /* With vDSO setup we can initialize the function pointers. */ setup_vdso_pointers (); -#ifdef DL_SYSDEP_OSCHECK - DL_SYSDEP_OSCHECK (_dl_fatal_printf); -#endif - /* Initialize the data structures for the search paths for shared objects. */ call_init_paths (&state); @@ -2638,14 +2631,6 @@ process_envvars (struct dl_main_state *state) GLRO(dl_dynamic_weak) = 1; break; - case 13: - /* We might have some extra environment variable with length 13 - to handle. */ -#ifdef EXTRA_LD_ENVVARS_13 - EXTRA_LD_ENVVARS_13 -#endif - break; - case 14: /* Where to place the profiling data file. */ if (!__libc_enable_secure |