diff mbox series

Obsolete _dl_mcount_wrapper in glibc 2.40 [BZ #31765]

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

Commit Message

H.J. Lu May 21, 2024, 2:37 a.m. UTC
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(-)

Comments

Sunil Pandey May 21, 2024, 4:38 p.m. UTC | #1
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 mbox series

Patch

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)