elf: Replace PI_STATIC_AND_HIDDEN with opposite HIDDEN_VAR_NEEDS_DYNAMIC_RELOC
authorFangrui Song <maskray@google.com>
Tue, 26 Apr 2022 16:26:22 +0000 (09:26 -0700)
committerFangrui Song <maskray@google.com>
Tue, 26 Apr 2022 16:26:22 +0000 (09:26 -0700)
commit098a657fe449a217cf65c5270d5fbc8d40b5b4e6
tree3721fb17b7746c4dfbe411439f84699f7e6c17a3
parente465d97653311c3687aee49de782177353acfe86
elf: Replace PI_STATIC_AND_HIDDEN with opposite HIDDEN_VAR_NEEDS_DYNAMIC_RELOC

PI_STATIC_AND_HIDDEN indicates whether accesses to internal linkage
variables and hidden visibility variables in a shared object (ld.so)
need dynamic relocations (usually R_*_RELATIVE). PI (position
independent) in the macro name is a misnomer: a code sequence using GOT
is typically position-independent as well, but using dynamic relocations
does not meet the requirement.

Not defining PI_STATIC_AND_HIDDEN is legacy and we expect that all new
ports will define PI_STATIC_AND_HIDDEN. Current ports defining
PI_STATIC_AND_HIDDEN are more than the opposite. Change the configure
default.

No functional change.

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
41 files changed:
config.h.in
elf/rtld.c
sysdeps/aarch64/configure
sysdeps/aarch64/configure.ac
sysdeps/alpha/configure
sysdeps/alpha/configure.ac
sysdeps/arc/configure
sysdeps/arc/configure.ac
sysdeps/arm/configure
sysdeps/arm/configure.ac
sysdeps/csky/configure
sysdeps/csky/configure.ac
sysdeps/hppa/configure
sysdeps/hppa/configure.ac
sysdeps/ia64/configure
sysdeps/ia64/configure.ac
sysdeps/m68k/configure [new file with mode: 0644]
sysdeps/m68k/configure.ac [new file with mode: 0644]
sysdeps/microblaze/configure
sysdeps/microblaze/configure.ac
sysdeps/mips/configure
sysdeps/mips/configure.ac
sysdeps/nios2/configure
sysdeps/nios2/configure.ac
sysdeps/or1k/configure
sysdeps/or1k/configure.ac
sysdeps/powerpc/powerpc32/configure
sysdeps/powerpc/powerpc32/configure.ac
sysdeps/powerpc/powerpc64/configure
sysdeps/powerpc/powerpc64/configure.ac
sysdeps/powerpc/tst-tlsifunc.c
sysdeps/riscv/configure
sysdeps/riscv/configure.ac
sysdeps/s390/configure
sysdeps/s390/configure.ac
sysdeps/sh/configure
sysdeps/sh/configure.ac
sysdeps/sparc/configure
sysdeps/sparc/configure.ac
sysdeps/x86/configure
sysdeps/x86/configure.ac