Why there are serval different versions related to GLIBC when dumping the symbols of a program by nm whereas the program is built with GLIBC_2.23?

孙世龙 sunshilong sunshilong369@gmail.com
Thu Sep 3 00:56:15 GMT 2020


Hi,

Thank you for the clarification.

>This is the initial version when the symbol was added.  And it can vary
>for different architectures (with different baseline versions).

So, __printf_chk is not supported before GLIBC_2.2.4.
Can I draw this conclusion?

But I am amazed that malloc is not supported before GLIBC_2.2.5.
As far as I know, malloc is a very basic API.
So I think it is supported by the very beginning version of GLIBC.

If there is something wrong, please let me know.

Thank you for your attention to my question.

Best regards
Sunshilong

On Thu, Sep 3, 2020 at 2:37 AM Adhemerval Zanella
<adhemerval.zanella@linaro.org> wrote:
>
>
>
> On 16/08/2020 22:46, 孙世龙 sunshilong via Libc-help wrote:
> > Hi, list
> >
> > Why there are serval different versions related to GLIBC when dumping
> > the symbols of a program by nm whereas the program is built with
> > GLIBC_2.23?
> >
> > Here are the dumping symbols:
> > nm ./test1 | grep -i glibc
> >                  U drand48@@GLIBC_2.2.5
> >                  U exit@@GLIBC_2.2.5
> >                  U __fprintf_chk@@GLIBC_2.3.4
> >                  U gettimeofday@@GLIBC_2.2.5
> >                  U __libc_start_main@@GLIBC_2.2.5
> >                  U malloc@@GLIBC_2.2.5
> >                  U __printf_chk@@GLIBC_2.3.4
> >                  U sqrt@@GLIBC_2.2.5
> >                  U __stack_chk_fail@@GLIBC_2.4
> > 00000000006020c0 B stderr@@GLIBC_2.2.5
> >
>
> This is the initial version when the symbol was added.  And it can vary
> for different architectures (with different baseline versions).


More information about the Libc-help mailing list