[COMMITTED] elf: hidden visibility for __minimal_malloc functions

Message ID 20211116190458.2332378-1-adhemerval.zanella@linaro.org
State Committed
Commit d8c2e8e0439b715918ee69b70aab4d222c17e2ca
Headers
Series [COMMITTED] elf: hidden visibility for __minimal_malloc functions |

Commit Message

Adhemerval Zanella Nov. 16, 2021, 7:04 p.m. UTC
  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.
---
 elf/dl-minimal-malloc.c | 5 +++++
 1 file changed, 5 insertions(+)
  

Patch

diff --git a/elf/dl-minimal-malloc.c b/elf/dl-minimal-malloc.c
index 939b5271ca..ea9bca26cf 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>