GCC supports _Float16 and __int128 on fewer architectures than clang and
thus libcxxrt compiled with gcc13 is sometimes missing related symbols.
Hack around this by explicitly appending --undefined-version to LDFLAGS
in problematic cases.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
This is fine for now, but may be can put some #ifdefs in the version maps? Or some more fine-grained gcc version checks?
Comment Actions
Unfortunately this library uses the VERSION_MAP format (what the linker actually understands) rather than our local SYMBOL_MAPS which generates a version map from a set of CPP processed map files. It does this because the script that generates version maps doesn't understand the extern C++ parts. I did take brief look at updating the script to handle (or perhaps more accurately ignore) the C++ cases, but didn't feel like I was making enough progress so gave up.