Message ID | 20240521023720.1853178-1-hjl.tools@gmail.com |
---|---|
State | New |
Headers | show |
Series | Obsolete _dl_mcount_wrapper in glibc 2.40 [BZ #31765] | expand |
On Mon, May 20, 2024 at 7:37 PM H.J. Lu <hjl.tools@gmail.com> wrote: > There is no _dl_mcount_wrapper prototype in any installed header files. > Fix BZ #31765 by changing _dl_mcount_wrapper to a compat symbol and > obsolete it in glibc 2.40. > > Signed-off-by: H.J. Lu <hjl.tools@gmail.com> > --- > elf/libc-dl-profstub.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/elf/libc-dl-profstub.c b/elf/libc-dl-profstub.c > index 36a65f4616..dd12443f2c 100644 > --- a/elf/libc-dl-profstub.c > +++ b/elf/libc-dl-profstub.c > @@ -19,17 +19,21 @@ > #include <dlfcn.h> > #include <elf.h> > #include <ldsodefs.h> > +#include <shlib-compat.h> > > /* This is the map for the shared object we profile. It is defined here > only because we test for this value being NULL or not. */ > > - > +#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_40) > +attribute_compat_text_section > void > _dl_mcount_wrapper (void *selfpc) > { > GLRO(dl_mcount) ((ElfW(Addr)) RETURN_ADDRESS (0), (ElfW(Addr)) selfpc); > } > > +compat_symbol (libc, _dl_mcount_wrapper, _dl_mcount_wrapper, GLIBC_2_1); > +#endif > > void > _dl_mcount_wrapper_check (void *selfpc) > -- > 2.45.1 > > LGTM Reviewed-by: Sunil K Pandey <skpgkp2@gmail.com> --Sunil
diff --git a/elf/libc-dl-profstub.c b/elf/libc-dl-profstub.c index 36a65f4616..dd12443f2c 100644 --- a/elf/libc-dl-profstub.c +++ b/elf/libc-dl-profstub.c @@ -19,17 +19,21 @@ #include <dlfcn.h> #include <elf.h> #include <ldsodefs.h> +#include <shlib-compat.h> /* This is the map for the shared object we profile. It is defined here only because we test for this value being NULL or not. */ - +#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_40) +attribute_compat_text_section void _dl_mcount_wrapper (void *selfpc) { GLRO(dl_mcount) ((ElfW(Addr)) RETURN_ADDRESS (0), (ElfW(Addr)) selfpc); } +compat_symbol (libc, _dl_mcount_wrapper, _dl_mcount_wrapper, GLIBC_2_1); +#endif void _dl_mcount_wrapper_check (void *selfpc)
There is no _dl_mcount_wrapper prototype in any installed header files. Fix BZ #31765 by changing _dl_mcount_wrapper to a compat symbol and obsolete it in glibc 2.40. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> --- elf/libc-dl-profstub.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)