Module Name: src Committed By: riastradh Date: Tue May 7 22:29:53 UTC 2024
Modified Files: src/lib/libm/arch/m68060: makeas.sh Log Message: lib/libm/arch/m68060/makeas.sh: Create public weak aliases. Use _foo for internal names, and weak alias foo when it's public like sin/cos/tan. To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 src/lib/libm/arch/m68060/makeas.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/lib/libm/arch/m68060/makeas.sh diff -u src/lib/libm/arch/m68060/makeas.sh:1.14 src/lib/libm/arch/m68060/makeas.sh:1.15 --- src/lib/libm/arch/m68060/makeas.sh:1.14 Tue May 7 22:19:42 2024 +++ src/lib/libm/arch/m68060/makeas.sh Tue May 7 22:29:53 2024 @@ -1,6 +1,6 @@ #!/bin/sh -# $NetBSD: makeas.sh,v 1.14 2024/05/07 22:19:42 riastradh Exp $ +# $NetBSD: makeas.sh,v 1.15 2024/05/07 22:29:53 riastradh Exp $ # Copyright (c) 1999, 2000 Ignatios Souvatzis # All rights reserved. @@ -27,7 +27,7 @@ set -eu -RCSID='$NetBSD: makeas.sh,v 1.14 2024/05/07 22:19:42 riastradh Exp $' +RCSID='$NetBSD: makeas.sh,v 1.15 2024/05/07 22:29:53 riastradh Exp $' RCSID=${RCSID#\$} RCSID=${RCSID% \$} @@ -61,19 +61,20 @@ linebreak () { } mk () { - local NAME OFFS THESRC + local NAME ALIAS OFFS THESRC NAME=$1 - OFFS=$2 - THESRC=$3.S - shift; shift; shift + ALIAS=$2 + OFFS=$3 + THESRC=$4.S + shift; shift; shift; shift echo -n " " ${THESRC} >> $FILELIST /bin/cat > ${THESRC} << EOJ /* \$NetBSD\$ */ /* - * FPLSP wrapper for $NAME + * FPLSP wrapper for ${ALIAS:-$NAME} * DO NOT EDIT - this file is automatically generated by: * * $RCSID @@ -81,6 +82,14 @@ mk () { #include <machine/asm.h> +EOJ + if [ -n "$ALIAS" ]; then + /bin/cat >> ${THESRC} << EOJ +WEAK_ALIAS($ALIAS, $NAME) + +EOJ + fi + /bin/cat >> ${THESRC} << EOJ ENTRY($NAME) #ifdef __SVR4_ABI__ bral PIC_PLT(_C_LABEL(__fplsp060_$OFFS)) @@ -98,19 +107,20 @@ EOJ } mks () { - local NAME OFFS THESRC + local NAME ALIAS OFFS THESRC NAME=$1 - OFFS=$2 - THESRC=$3.S - shift; shift; shift + ALIAS=$2 + OFFS=$3 + THESRC=$4.S + shift; shift; shift; shift echo -n " " ${THESRC} >> $FILELIST /bin/cat > ${THESRC} << EOJ /* \$NetBSD\$ */ /* - * FPLSP wrapper for $NAME + * FPLSP wrapper for ${ALIAS:-$NAME} * DO NOT EDIT - this file is automatically generated by: * * $RCSID @@ -118,6 +128,14 @@ mks () { #include <machine/asm.h> +EOJ + if [ -n "$ALIAS" ]; then + /bin/cat >> ${THESRC} << EOJ +WEAK_ALIAS($ALIAS, $NAME) + +EOJ + fi + /bin/cat >> ${THESRC} << EOJ ENTRY($NAME) #ifdef __SVR4_ABI__ bral PIC_PLT(_C_LABEL(__fplsp060_$OFFS)) @@ -164,48 +182,48 @@ EOJ echo -n ARCH_SRCS = >> $FILELIST -mks __ieee754_acosf 0000 e_acosf -mk __ieee754_acos 0008 e_acos -mks __ieee754_asinf 0018 e_asinf -mk __ieee754_asin 0020 e_asin -linebreak -mks atanf 0030 s_atanf -mk atan 0038 s_atan -mks __ieee754_atanhf 0048 e_atanhf -mk __ieee754_atanh 0050 e_atanh -linebreak -mks cosf 0060 s_cosf -mk cos 0068 s_cos -mks __ieee754_coshf 0078 e_coshf -mk __ieee754_cosh 0080 e_cosh -linebreak -mks __ieee754_expf 0090 e_expf -mk __ieee754_exp 0098 e_exp -mks expm1f 00a8 s_expm1f -mk expm1 00b0 s_expm1 -linebreak -mks __ieee754_log10f 00f0 e_log10f -mk __ieee754_log10 00f8 e_log10 -mks logbf 0108 s_logbf -mk logb 0110 s_logb -linebreak -mks __ieee754_logf 0120 e_logf -mk __ieee754_log 0128 e_log -mks log1pf 0138 s_log1pf -mk log1p 0140 s_log1p -linebreak -mks sinf 0198 s_sinf -mk sin 01a0 s_sin -mks __ieee754_sinhf 01c8 e_sinhf -mk __ieee754_sinh 01d0 e_sinh -linebreak -mks tanf 01e0 s_tanf k_tanf -mk tan 01e8 s_tan k_tan -mks tanhf 01f8 s_tanhf -mk tanh 0200 s_tanh +mks __ieee754_acosf '' 0000 e_acosf +mk __ieee754_acos '' 0008 e_acos +mks __ieee754_asinf '' 0018 e_asinf +mk __ieee754_asin '' 0020 e_asin +linebreak +mks _atanf atanf 0030 s_atanf +mk _atan atan 0038 s_atan +mks __ieee754_atanhf '' 0048 e_atanhf +mk __ieee754_atanh '' 0050 e_atanh +linebreak +mks _cosf cosf 0060 s_cosf +mk _cos cos 0068 s_cos +mks __ieee754_coshf '' 0078 e_coshf +mk __ieee754_cosh '' 0080 e_cosh +linebreak +mks __ieee754_expf '' 0090 e_expf +mk __ieee754_exp '' 0098 e_exp +mks _expm1f expm1f 00a8 s_expm1f +mk _expm1 expm1 00b0 s_expm1 +linebreak +mks __ieee754_log10f '' 00f0 e_log10f +mk __ieee754_log10 '' 00f8 e_log10 +mks _logbf logbf 0108 s_logbf +mk _logb logb 0110 s_logb +linebreak +mks __ieee754_logf '' 0120 e_logf +mk __ieee754_log '' 0128 e_log +mks _log1pf log1pf 0138 s_log1pf +mk _log1p log1p 0140 s_log1p +linebreak +mks _sinf sinf 0198 s_sinf +mk _sin sin 01a0 s_sin +mks __ieee754_sinhf '' 01c8 e_sinhf +mk __ieee754_sinh '' 01d0 e_sinh +linebreak +mks _tanf tanf 01e0 s_tanf k_tanf +mk _tan tan 01e8 s_tan k_tan +mks _tanhf tanhf 01f8 s_tanhf +mk _tanh tanh 0200 s_tanh linebreak -mks __ieee754_sqrtf 02e8 e_sqrtf -mk __ieee754_sqrt 02f0 e_sqrt +mks __ieee754_sqrtf '' 02e8 e_sqrtf +mk __ieee754_sqrt '' 02f0 e_sqrt /bin/cat >> ${REALCODE} << EOJ