diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2021-11-16 15:58:16 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2021-11-16 16:03:31 -0300 |
commit | d8c2e8e0439b715918ee69b70aab4d222c17e2ca (patch) | |
tree | eb4d583d04ce7e69cc8f8d2a1255c63d71683382 | |
parent | 1f67d8286b5da9266a138198ef1f15c27cbb0010 (diff) | |
download | glibc-d8c2e8e0439b715918ee69b70aab4d222c17e2ca.zip glibc-d8c2e8e0439b715918ee69b70aab4d222c17e2ca.tar.gz glibc-d8c2e8e0439b715918ee69b70aab4d222c17e2ca.tar.bz2 |
elf: hidden visibility for __minimal_malloc functions
Since b05fae4d8e34, __minimal malloc code is used during static
startup before PIE self-relocation (_dl_relocate_static_pie).
So it requires the same fix done for other objects by 47618209d05a.
Checked on aarch64, x86_64, and i686 with and without static-pie.
-rw-r--r-- | elf/dl-minimal-malloc.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/elf/dl-minimal-malloc.c b/elf/dl-minimal-malloc.c index 939b527..ea9bca2 100644 --- a/elf/dl-minimal-malloc.c +++ b/elf/dl-minimal-malloc.c @@ -17,6 +17,11 @@ License along with the GNU C Library; if not, see <https://www.gnu.org/licenses/>. */ +/* Mark symbols hidden in static PIE for early self relocation to work. + Note: string.h may have ifuncs which cannot be hidden on i686. */ +#if BUILD_PIE_DEFAULT +# pragma GCC visibility push(hidden) +#endif #include <assert.h> #include <string.h> #include <ldsodefs.h> |