]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
elf: Always provide _dl_get_dl_main_map in libc.a
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 29 Dec 2023 16:43:50 +0000 (08:43 -0800)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 1 Jan 2024 13:22:48 +0000 (05:22 -0800)
Always provide _dl_get_dl_main_map in libc.a.  It will be used by x86
to process PT_GNU_PROPERTY segment.

elf/dl-support.c
sysdeps/generic/ldsodefs.h

index 837fa1c83605b244ffae3bf13456a221e5dc8018..70c5b3599a14778f9faaaf88a5e7e2c2c64fbe2c 100644 (file)
@@ -344,7 +344,6 @@ _dl_non_dynamic_init (void)
 DL_SYSINFO_IMPLEMENTATION
 #endif
 
-#if ENABLE_STATIC_PIE
 /* Since relocation to hidden _dl_main_map causes relocation overflow on
    aarch64, a function is used to get the address of _dl_main_map.  */
 
@@ -353,7 +352,6 @@ _dl_get_dl_main_map (void)
 {
   return &_dl_main_map;
 }
-#endif
 
 /* This is used by _dl_runtime_profile, not used on static code.  */
 void
index 9b50ddd09f3b31730de2afad1c62048c91b3626c..bbf51bc1f55061053f19cd9563d85464d60f6866 100644 (file)
@@ -1172,10 +1172,6 @@ void __libc_setup_tls (void);
 # if ENABLE_STATIC_PIE
 /* Relocate static executable with PIE.  */
 extern void _dl_relocate_static_pie (void) attribute_hidden;
-
-/* Get a pointer to _dl_main_map.  */
-extern struct link_map * _dl_get_dl_main_map (void)
-  __attribute__ ((visibility ("hidden")));
 # else
 #  define _dl_relocate_static_pie()
 # endif
@@ -1217,6 +1213,9 @@ rtld_hidden_proto (_dl_deallocate_tls)
 
 extern void _dl_nothread_init_static_tls (struct link_map *) attribute_hidden;
 
+/* Get a pointer to _dl_main_map.  */
+extern struct link_map * _dl_get_dl_main_map (void) attribute_hidden;
+
 /* Find origin of the executable.  */
 extern const char *_dl_get_origin (void) attribute_hidden;