Message ID | 20231222165830.2100438-3-hjl.tools@gmail.com |
---|---|
State | New |
Headers | show |
Series | x86/cet: Update CET kernel interface | expand |
On 22/12/23 13:58, H.J. Lu wrote: > 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 | 2 -- > sysdeps/generic/ldsodefs.h | 8 ++++---- > 2 files changed, 4 insertions(+), 6 deletions(-) > > diff --git a/elf/dl-support.c b/elf/dl-support.c > index 837fa1c836..70c5b3599a 100644 > --- a/elf/dl-support.c > +++ b/elf/dl-support.c > @@ -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 > diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h > index 9b50ddd09f..0e8a008a49 100644 > --- a/sysdeps/generic/ldsodefs.h > +++ b/sysdeps/generic/ldsodefs.h > @@ -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,10 @@ 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__ ((visibility ("hidden"))); You can se attribute_hidden here. > + > /* Find origin of the executable. */ > extern const char *_dl_get_origin (void) attribute_hidden; >
On Fri, Dec 29, 2023 at 6:45 AM Adhemerval Zanella Netto <adhemerval.zanella@linaro.org> wrote: > > > > On 22/12/23 13:58, H.J. Lu wrote: > > 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 | 2 -- > > sysdeps/generic/ldsodefs.h | 8 ++++---- > > 2 files changed, 4 insertions(+), 6 deletions(-) > > > > diff --git a/elf/dl-support.c b/elf/dl-support.c > > index 837fa1c836..70c5b3599a 100644 > > --- a/elf/dl-support.c > > +++ b/elf/dl-support.c > > @@ -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 > > diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h > > index 9b50ddd09f..0e8a008a49 100644 > > --- a/sysdeps/generic/ldsodefs.h > > +++ b/sysdeps/generic/ldsodefs.h > > @@ -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,10 @@ 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__ ((visibility ("hidden"))); > > You can se attribute_hidden here. Fixed. > > + > > /* Find origin of the executable. */ > > extern const char *_dl_get_origin (void) attribute_hidden; > > Thanks.
diff --git a/elf/dl-support.c b/elf/dl-support.c index 837fa1c836..70c5b3599a 100644 --- a/elf/dl-support.c +++ b/elf/dl-support.c @@ -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 diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index 9b50ddd09f..0e8a008a49 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -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,10 @@ 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__ ((visibility ("hidden"))); + /* Find origin of the executable. */ extern const char *_dl_get_origin (void) attribute_hidden;