From 2ab407ce09a9f1094b0a14d2877a8a1e5c6fdbce Mon Sep 17 00:00:00 2001 From: aliriza Date: Mon, 10 Jun 2024 22:15:25 +0300 Subject: [PATCH] ld preload blocked from glibc --- sys/base/glibc/data/disable-ld-preload.patch | 20 ++++++++++++++++++++ sys/base/glibc/ympbuild | 6 ++++++ 2 files changed, 26 insertions(+) create mode 100644 sys/base/glibc/data/disable-ld-preload.patch diff --git a/sys/base/glibc/data/disable-ld-preload.patch b/sys/base/glibc/data/disable-ld-preload.patch new file mode 100644 index 00000000..1eaaaf24 --- /dev/null +++ b/sys/base/glibc/data/disable-ld-preload.patch @@ -0,0 +1,20 @@ +diff --git a/elf/rtld.c b/elf/rtld.c +index e9525ea9..0879caa1 100644 +--- a/elf/rtld.c ++++ b/elf/rtld.c +@@ -1836,15 +1836,6 @@ dl_main (const ElfW(Phdr) *phdr, + struct link_map **preloads = NULL; + unsigned int npreloads = 0; + +- if (__glibc_unlikely (state.preloadlist != NULL)) +- { +- RTLD_TIMING_VAR (start); +- rtld_timer_start (&start); +- npreloads += handle_preload_list (state.preloadlist, main_map, +- "LD_PRELOAD"); +- rtld_timer_accum (&load_time, start); +- } +- + if (__glibc_unlikely (state.preloadarg != NULL)) + { + RTLD_TIMING_VAR (start); diff --git a/sys/base/glibc/ympbuild b/sys/base/glibc/ympbuild index e9f6d2eb..6688ad47 100644 --- a/sys/base/glibc/ympbuild +++ b/sys/base/glibc/ympbuild @@ -17,6 +17,7 @@ source=("https://ftp.gnu.org/gnu/glibc/glibc-${version}.tar.xz" 'data/glibc.sysconf' 'scripts/locale-gen' 'scripts/revdep-rebuild' + 'data/disable-ld-preload.patch' 'data/tr_TR' ) md5sums=('be81e87f72b5ea2c0ffe2bedfeb680c6' @@ -27,6 +28,7 @@ md5sums=('be81e87f72b5ea2c0ffe2bedfeb680c6' 'SKIP' 'SKIP' 'SKIP' + 'SKIP' ) uses=(multilib) group=(sys.base) @@ -36,6 +38,10 @@ export CXXFLAGS="-O2 ${debug:+-g} -s -mtune=generic -DTURKMAN" cd "$name-$version" +prepare(){ + patch -Np1 -i ../disable-ld-preload.patch +} + setup(){ opts=( --prefix=/usr