Re: GCC10 in sysroot: libstdc++ symbols

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 11 Mar 2021, 18:40 Oleg Smolsky via Gcc-help, <gcc-help@xxxxxxxxxxx>
wrote:

> Hello! I'm testing a Linux/Linux GCC10 cross-compiler (configured with a
> sysroot + glibc 2.33) and hitting a linking issue. One of the OSS
> packages I had built before with a simple bootstrapped GCC10 is looking
> for this symbol:
>
>      undefined symbol: _ZSt15__once_callable, version GLIBCXX_3.4.11
>
> This symbol does not exist in the new libstdc++, and yet I see it in the
> old one:
>
> $ nm /opt/gcc-10/lib64/libstdc++.so.6 | grep callable
> 0000000000000018 B _ZSt15__once_callable
>
> Clearly the new build is not quite the same as the old one... but which
> one is correct for Linux/x86-64? And what controls this variance? It
> looks like glibc does not have a flag to control TLS any more...
>

This depends on whether GCC detects TLS support for the target. I would
expect TLS to be supported for x86_64-*-linux-gnu, i.e. the old build
matches the expected configuration. It's not "wrong" to have a build
without TLS (there might be valid reasons to configure things that way) but
it's not typical.

You should look at why the new GCC thinks your target can't support TLS.



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux