This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: g++ 5.3 AIX call_once issues


On 29 October 2017 at 16:14, Brian Groose wrote:
> I'm hitting what looks like pr67478 (which is fixed by pr 68192).
>
> The example in PR67478 fails with the same error.  However, I'm running g++
> 5.3.0, so the issue should be fixed with my compiler.
>
> I can see the symbols in libstdc++.a as type L as expected.
>
> Do I need to compile g++ with some special option for this?
>
> TLS using the thread_local keyword works fine, it's just that the linker
> can't seem to find the symbols for call once:
> ld: 0711-317 ERROR: Undefined symbol: std::__once_callable
> ld: 0711-317 ERROR: Undefined symbol: std::__once_call
> ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
> information.
> collect2: error: ld returned 8 exit status

Those symbols don't use thread_local, they use __thread, which isn't
necessarily implemented the same way.

Does using __thread for thread-local variables work?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]