1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-01 10:06:57 +03:00

Remove -z combreloc and HAVE_Z_COMBRELOC

-z combreloc has been the default regadless of the architecture since
binutils commit f4d733664aabd7bd78c82895e030ec9779a92809 (2002). The
configure check added in commit fdde83499a (2001) has long been
unneeded.

We can therefore treat HAVE_Z_COMBRELOC as always 1 and delete dead code
paths in dl-machine.h files (many were copied from commit a711b01d34
and ee0cb67ec2).

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
This commit is contained in:
Fangrui Song
2022-04-04 17:19:07 -07:00
parent 1c225a2dd1
commit 3ee318c923
16 changed files with 30 additions and 256 deletions

View File

@ -244,24 +244,10 @@ elf_machine_rela (struct link_map *map, struct r_scope_elem *scope[],
}
#endif
#if !defined RTLD_BOOTSTRAP || !defined HAVE_Z_COMBRELOC
#if !defined RTLD_BOOTSTRAP
case R_RISCV_RELATIVE:
{
# if !defined RTLD_BOOTSTRAP && !defined HAVE_Z_COMBRELOC
/* 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. */
# endif
*addr_field = map->l_addr + reloc->r_addend;
*addr_field = map->l_addr + reloc->r_addend;
break;
}
#endif
case R_RISCV_IRELATIVE: