head 1.8; access; symbols netbsd-11-0-RC5:1.8 netbsd-11-0-RC4:1.8 netbsd-11-0-RC3:1.8 netbsd-11-0-RC2:1.8 netbsd-11-0-RC1:1.8 perseant-exfatfs-base-20250801:1.8 netbsd-11:1.8.0.2 netbsd-11-base:1.8 perseant-exfatfs-base-20240630:1.7 perseant-exfatfs:1.7.0.2 perseant-exfatfs-base:1.7; locks; strict; comment @# @; 1.8 date 2024.11.21.18.16.15; author riastradh; state Exp; branches; next 1.7; commitid ztrJqLMtvcZpExyF; 1.7 date 2024.06.09.14.10.05; author riastradh; state Exp; branches 1.7.2.1; next 1.6; commitid Ew4Inig6fNEMAjdF; 1.6 date 2024.06.09.14.09.27; author riastradh; state Exp; branches; next 1.5; commitid VRMUAFwTmqWzAjdF; 1.5 date 2024.06.09.13.33.36; author riastradh; state Exp; branches; next 1.4; commitid 2Yl6tL6CJyKgojdF; 1.4 date 2024.05.09.14.42.09; author riastradh; state Exp; branches; next 1.3; commitid WPBqdjzCxGrzLk9F; 1.3 date 2024.05.08.02.08.11; author riastradh; state Exp; branches; next 1.2; commitid sFjOlP7PjgjUC89F; 1.2 date 2024.05.08.01.04.24; author riastradh; state Exp; branches; next 1.1; commitid 8p1apXcJov91h89F; 1.1 date 2024.05.07.20.58.33; author riastradh; state Exp; branches; next ; commitid jPTqxolCZJTGU69F; 1.7.2.1 date 2025.08.02.05.54.50; author perseant; state Exp; branches; next ; commitid 23j6GFaDws3O875G; desc @@ 1.8 log @bsd.lib.mk: Exclude MD linker-generated crud from expected symbols. Not entirely sure why these symbols like _init/_fini/_end on x86 or __bss_start__/__bss_end__ on aarch64 or _GLOBAL_OFFSET_TABLE_ on hppa are exported at all, but it's something the linker is doing automatically -- and unnecessarily, since libraries with explicit version scripts don't export these -- and I'm not sure there's any way to suppress it. This way, most *.expsym lists can be machine-independent, which will help keep maintenance burden much lower. Currently we have only one *.expsym file for a library that _doesn't_ use a version script, libm -- fix that up to reduce the crud. (That one already happens to have a lot of machine-dependent exports because of differences in floating-point ABIs so the linker-generated MD symbol crud wasn't much more of a maintenance burden in this case, but this maintenance burden is why I haven't aggressively gone around creating *.expsym files for other libraries.) @ text @__divxc3 __exp__E __libm_cdabs_r6 __log__L __mulxc3 _cabs _pow _powf d_cbrt d_sqrt dcbrt_ infnan z_abs @ 1.7 log @libm: Factor out common expected symbol list. Should substantially reduce the maintenance burden. @ text @a6 2 _fini _init @ 1.7.2.1 log @Sync with HEAD @ text @d7 2 @ 1.6 log @libm: Define lgamma_r, lgammal, lgammal_r on non-IEEE754. Missing internal aliases _lgamma_r and _lgammal_r -- TBD. PR 57881 @ text @a0 5 __c99_cabs __c99_cabsf __c99_cabsl __divdc3 __divsc3 a1 1 __exp__D a3 1 __log__D a4 2 __muldc3 __mulsc3 a5 9 _acos _acosf _asin _asinf _atan _atan2 _atan2f _atan2l _atanf a6 23 _casin _casinf _casinl _catan _catanf _catanl _cchsh _cchshf _cchshl _copysignl _cos _cosf _cosh _coshf _coshl _cosl _ctans _ctansf _ctansl _end _exp _expf _expl a7 5 _finite _finitef _hypot _hypotf _hypotl a8 3 _log _logf _logl a10 108 _powl _redupi _redupif _redupil _scalbn _scalbnf _scalbnl _sin _sincosl _sinf _sinh _sinhf _sinhl _sinl _sqrtl _tan _tanf _tanl acos acosf acosh asin asinf asinh atan atan2 atan2f atan2l atanf atanh atanhf cacos cacosf cacosh cacoshf cacoshl cacosl carg cargf cargl casin casinf casinh casinhf casinhl casinl catan catanf catanh catanhf catanhl catanl cbrt cbrtf cbrtl ccos ccosf ccosh ccoshf ccoshl ccosl ceil ceilf ceill cexp cexpf cexpl cimag cimagf cimagl clog clogf clogl conj conjf conjl copysign copysignf copysignl cos cosf cosh coshf cosl cpow cpowf cpowl cproj cprojf cprojl creal crealf creall csin csinf csinh csinhf csinhl csinl csqrt csqrtf csqrtl ctan ctanf ctanh ctanhf ctanhl ctanl a13 33 drem erf erfc erfcf erff exp exp2 exp2f expf expm1 expm1f finite finitef floor floorf floorl fmax fmaxf fmaxl fmin fminf fmod fmodf fmodl frexpf frexpl gamma hypot hypotf hypotl ilogb ilogbf ilogbl a14 68 isnanf j0 j1 jn ldexp ldexpf ldexpl lgamma lgamma_r lgammal lgammal_r llrint llrintf log log10 log10f log1p log1pf log2 log2f logb logbf logbl logf lrint lrintf lround lroundf modfl nan nanf nanl pow powf powl rint rintf rintl round roundf roundl scalb scalbn scalbnf scalbnl signgam sin sincos sincosf sincosl sinf sinh sinhf sinl sqrt sqrtf sqrtl tan tanf tanh tanhf tanl trunc truncf truncl y0 y1 yn @ 1.5 log @libm: Do the weak alias dance for asin, acos, atan. These are used internally by the complex trig functions, so they need weak aliases. @ text @d213 3 @ 1.4 log @libm: Add frexpf and frexpl on VAX. These are trivial subroutines, not symbol aliases, for separate reasons: - frexpf has a different ABI from frexp (float vs double argument) - frexp is defined in libc, not libm, so although long double is the same as double, frexpl can't be an alias in libm of a symbol defined in libc @ text @d15 2 d19 1 d23 1 @ 1.3 log @libm: Add rintl, rintf to non-IEEE754 architectures. While here, delete #ifdef to handle ns32k -- I don't think that's gonna be relevant any time soon; in case you hadn't noticed, the world has moved on from ns32k to vax by now. PR 57881 @ text @d191 2 @ 1.2 log @libm/arch/vax: Do the weak alias dance for finite, finitef. These are used internally. @ text @d232 2 @ 1.1 log @libm: Memorialize expected symbols on various architectures. This will reduce the risk of accidentally adding or deleting the wrong symbols while fixing the aliases. (This is all the architectures I have a build tree for handy; can add other architectures like m68k later.) @ text @d45 2 @