cdefs.h/libm: Add __sym_{compat,default}() helper macros and use in libm.While here, change the "past<function>" naming scheme to "past_<function>"like it is already for "weak_" and "imprecise_" c
cdefs.h/libm: Add __sym_{compat,default}() helper macros and use in libm.While here, change the "past<function>" naming scheme to "past_<function>"like it is already for "weak_" and "imprecise_" cases.Macros-taken-from: FreeBSD
show more ...
Replace hybrid libm with OpenBSD libm on vendor branchIn order to gain full c++11 support on GCC, we had to import a numberof long double functions from NetBSD, once again converting libm intoa h
Replace hybrid libm with OpenBSD libm on vendor branchIn order to gain full c++11 support on GCC, we had to import a numberof long double functions from NetBSD, once again converting libm intoa hybrid library from a mixture of sources. As of today, FreeBSD stilldoesn't have the missing functions and the PR on broken c++11 has beenlingering for months.The OpenBSD libm is complete and maintained[1][2]. It's unmodifiedsources are in vendor/OPENBSD_LIBM branch with local modifications (tosquelch gcc warnings and adjust for OS differences mainly) are appliedto the master for easy diff generation.A dports bulk build was executing using the new math library and theresult is the ports built normally.[1] The final two "imprecise" functions were replaced by proper long double versions. The imprecise versions remain as older symbols (libm has symbol versioning) so this source is additional to what is provided in the vendor branch. (powl, tgammal)[2] There were several DF306.0 symbols that are not present in OpenLIBM, partially because they've been moved to libc or were always there. In order to maintain backwards capability, copies of these functions with new names are built into libm, and given DF306.0 versions only. Without the version suffix, these past functions will not link to new programs.