HomeFreeBSD

libcxxrt: Move mangled symbols out of extern "C++" in Version.map

Description

libcxxrt: Move mangled symbols out of extern "C++" in Version.map

r260553 added a number of mangled C++ symbols to Version.map inside of
an existing extern "C++" block.

ld.bfd 2.17.50 treats extern "C++" permissively and will match both
mangled and demangled symbols against the strings in the version map
block. ld.lld interprets extern "C++" strictly, and matches only
demangled symbols.

I believe lld's behaviour is correct. Contemporary versions of ld.bfd
also behave as lld does, so move the mangled symbols out of the
extern "C++" block.

PR: 225128, 185663
MFC after: 1 week
Sponsored by: The FreeBSD Foundation

Details

Provenance
emasteAuthored on
Parents
rS328304: In the C library, the setting up of the group array by various
Branches
Unknown
Tags
Unknown