summary refs log tree commit diff
path: root/sysdeps/alpha
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2022-04-26 09:26:22 -0700
committerFangrui Song <maskray@google.com>2022-04-26 09:26:22 -0700
commit098a657fe449a217cf65c5270d5fbc8d40b5b4e6 (patch)
tree3721fb17b7746c4dfbe411439f84699f7e6c17a3 /sysdeps/alpha
parente465d97653311c3687aee49de782177353acfe86 (diff)
downloadglibc-098a657fe449a217cf65c5270d5fbc8d40b5b4e6.tar.gz
glibc-098a657fe449a217cf65c5270d5fbc8d40b5b4e6.tar.xz
glibc-098a657fe449a217cf65c5270d5fbc8d40b5b4e6.zip
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>
Diffstat (limited to 'sysdeps/alpha')
-rw-r--r--sysdeps/alpha/configure5
-rw-r--r--sysdeps/alpha/configure.ac4
2 files changed, 0 insertions, 9 deletions
diff --git a/sysdeps/alpha/configure b/sysdeps/alpha/configure
index 3d665d96f2..f67a0e20a9 100644
--- a/sysdeps/alpha/configure
+++ b/sysdeps/alpha/configure
@@ -1,11 +1,6 @@
 # This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
  # Local configure fragment for sysdeps/alpha.
 
-# With required gcc+binutils, we can always access static and hidden
-# symbols in a position independent way.
-$as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h
-
-
 # PIE builds fail on binutils 2.37 and earlier, see:
 # https://sourceware.org/bugzilla/show_bug.cgi?id=28672
 $as_echo "#define PIE_UNSUPPORTED 1" >>confdefs.h
diff --git a/sysdeps/alpha/configure.ac b/sysdeps/alpha/configure.ac
index 8f9a39ed2e..465665def0 100644
--- a/sysdeps/alpha/configure.ac
+++ b/sysdeps/alpha/configure.ac
@@ -1,10 +1,6 @@
 GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
 # Local configure fragment for sysdeps/alpha.
 
-# With required gcc+binutils, we can always access static and hidden
-# symbols in a position independent way.
-AC_DEFINE(PI_STATIC_AND_HIDDEN)
-
 # PIE builds fail on binutils 2.37 and earlier, see:
 # https://sourceware.org/bugzilla/show_bug.cgi?id=28672
 AC_DEFINE(PIE_UNSUPPORTED)