diff options
author | Florian Weimer <fweimer@redhat.com> | 2020-12-16 15:09:52 +0100 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2020-12-16 15:13:40 +0100 |
commit | e7570f4131a6af9405af7b4fd1c31de807e7cf68 (patch) | |
tree | 0f11050a7a1b768fb0d683dc60412bc2a101c3a5 /elf/dl-open.c | |
parent | 9459fe9da0f981f77ba931790f82e43ac552b73c (diff) | |
download | glibc-e7570f4131a6af9405af7b4fd1c31de807e7cf68.zip glibc-e7570f4131a6af9405af7b4fd1c31de807e7cf68.tar.gz glibc-e7570f4131a6af9405af7b4fd1c31de807e7cf68.tar.bz2 |
Replace __libc_multiple_libcs with __libc_initial flag
Change sbrk to fail for !__libc_initial (in the generic
implementation). As a result, sbrk is (relatively) safe to use
for the __libc_initial case (from the main libc). It is therefore
no longer necessary to avoid using it in that case (or updating the
brk cache), and the __libc_initial flag does not need to be updated
as part of dlmopen or static dlopen.
As before, direct brk system calls on Linux may lead to memory
corruption.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Diffstat (limited to 'elf/dl-open.c')
-rw-r--r-- | elf/dl-open.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/elf/dl-open.c b/elf/dl-open.c index 8769e47..6710ea0 100644 --- a/elf/dl-open.c +++ b/elf/dl-open.c @@ -787,12 +787,6 @@ dl_open_worker (void *a) if (mode & RTLD_GLOBAL) add_to_global_update (new); -#ifndef SHARED - /* We must be the static _dl_open in libc.a. A static program that - has loaded a dynamic object now has competition. */ - __libc_multiple_libcs = 1; -#endif - /* Let the user know about the opencount. */ if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_FILES)) _dl_debug_printf ("opening file=%s [%lu]; direct_opencount=%u\n\n", |