]> git.ipfire.org Git - thirdparty/glibc.git/commit
elf: Fix elf_get_dynamic_info() for bootstrap
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Fri, 15 Oct 2021 17:35:31 +0000 (14:35 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Mon, 18 Oct 2021 12:51:56 +0000 (09:51 -0300)
commit5118dcac68c4eadfd6304bb33adde63d062dc07f
treea36d657aa4cf152f6eee05feac6d7171cb3816ad
parent1d3decee997ba2fc24af81803299b2f4f3c47063
elf: Fix elf_get_dynamic_info() for bootstrap

THe d6d89608ac8c broke powerpc for --enable-bind-now because it turned
out that different than patch assumption rtld elf_get_dynamic_info()
does require to handle RTLD_BOOTSTRAP to avoid DT_FLAGS and
DT_RUNPATH (more specially the GLRO usage which is not reallocate
yet).

This patch fixes by passing two arguments to elf_get_dynamic_info()
to inform that by rtld (bootstrap) or static pie initialization
(static_pie_bootstrap).  I think using explicit argument is way more
clear and burried C preprocessor, and compiler should remove the
dead code.

I checked on x86_64 and i686 with default options, --enable-bind-now,
and --enable-bind-now and --enable--static-pie.  I also check on
aarch64, armhf, powerpc64, and powerpc with default and
--enable-bind-now.
elf/dl-load.c
elf/dl-reloc-static-pie.c
elf/get-dynamic-info.h
elf/rtld.c
elf/setup-vdso.h