mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-08 17:42:12 +03:00
elf: Introduce is_rtld_link_map
Unconditionally define it to false for static builds. This avoids the awkward use of weak_extern for _dl_rtld_map in checks that cannot be possibly true on static builds. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
This commit is contained in:
11
elf/do-rel.h
11
elf/do-rel.h
@@ -102,16 +102,7 @@ elf_dynamic_do_Rel (struct link_map *map, struct r_scope_elem *scope[],
|
||||
else
|
||||
#endif
|
||||
{
|
||||
/* This is defined in rtld.c, but nowhere in the static libc.a; make
|
||||
the reference weak so static programs can still link. This
|
||||
declaration cannot be done when compiling rtld.c (i.e. #ifdef
|
||||
RTLD_BOOTSTRAP) because rtld.c contains the common defn for
|
||||
_dl_rtld_map, which is incompatible with a weak decl in the same
|
||||
file. */
|
||||
# ifndef SHARED
|
||||
weak_extern (GL(dl_rtld_map));
|
||||
# endif
|
||||
if (map != &GL(dl_rtld_map)) /* Already done in rtld itself. */
|
||||
if (!is_rtld_link_map (map)) /* Already done in rtld itself. */
|
||||
# if !defined DO_RELA || defined ELF_MACHINE_REL_RELATIVE
|
||||
/* Rela platforms get the offset from r_addend and this must
|
||||
be copied in the relocation address. Therefore we can skip
|
||||
|
Reference in New Issue
Block a user