diff options
Diffstat (limited to 'jack/picosdk_math.mk')
-rw-r--r-- | jack/picosdk_math.mk | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/jack/picosdk_math.mk b/jack/picosdk_math.mk new file mode 100644 index 0000000..82f18a3 --- /dev/null +++ b/jack/picosdk_math.mk @@ -0,0 +1,153 @@ +OPT_DEFS += -DPICO_DOUBLE_IN_RAM=1 \ + -DPICO_FLOAT_IN_RAM=1 + +# bit +SRC += $(PICOSDKROOT)/src/rp2_common/pico_bit_ops/bit_ops_aeabi.S +EXTRALDFLAGS += \ + -Wl,--wrap=__clzsi2 \ + -Wl,--wrap=__clzdi2 \ + -Wl,--wrap=__ctzsi2 \ + -Wl,--wrap=__ctzdi2 \ + -Wl,--wrap=__popcountsi2 \ + -Wl,--wrap=__popcountdi2 + +# double +VPATH += $(PICOSDKROOT)/src/rp2_common/pico_double/include +SRC += \ + $(PICOSDKROOT)/src/rp2_common/pico_double/double_aeabi.S \ + $(PICOSDKROOT)/src/rp2_common/pico_double/double_init_rom.c \ + $(PICOSDKROOT)/src/rp2_common/pico_double/double_math.c \ + $(PICOSDKROOT)/src/rp2_common/pico_double/double_v1_rom_shim.S +EXTRALDFLAGS += \ + -Wl,--wrap=__aeabi_dadd \ + -Wl,--wrap=__aeabi_ddiv \ + -Wl,--wrap=__aeabi_dmul \ + -Wl,--wrap=__aeabi_drsub \ + -Wl,--wrap=__aeabi_dsub \ + -Wl,--wrap=__aeabi_cdcmpeq \ + -Wl,--wrap=__aeabi_cdrcmple \ + -Wl,--wrap=__aeabi_cdcmple \ + -Wl,--wrap=__aeabi_dcmpeq \ + -Wl,--wrap=__aeabi_dcmplt \ + -Wl,--wrap=__aeabi_dcmple \ + -Wl,--wrap=__aeabi_dcmpge \ + -Wl,--wrap=__aeabi_dcmpgt \ + -Wl,--wrap=__aeabi_dcmpun \ + -Wl,--wrap=__aeabi_i2d \ + -Wl,--wrap=__aeabi_l2d \ + -Wl,--wrap=__aeabi_ui2d \ + -Wl,--wrap=__aeabi_ul2d \ + -Wl,--wrap=__aeabi_d2iz \ + -Wl,--wrap=__aeabi_d2lz \ + -Wl,--wrap=__aeabi_d2uiz \ + -Wl,--wrap=__aeabi_d2ulz \ + -Wl,--wrap=__aeabi_d2f \ + -Wl,--wrap=sqrt \ + -Wl,--wrap=cos \ + -Wl,--wrap=sin \ + -Wl,--wrap=tan \ + -Wl,--wrap=atan2 \ + -Wl,--wrap=exp \ + -Wl,--wrap=log \ + -Wl,--wrap=ldexp \ + -Wl,--wrap=copysign \ + -Wl,--wrap=trunc \ + -Wl,--wrap=floor \ + -Wl,--wrap=ceil \ + -Wl,--wrap=round \ + -Wl,--wrap=sincos \ + -Wl,--wrap=asin \ + -Wl,--wrap=acos \ + -Wl,--wrap=atan \ + -Wl,--wrap=sinh \ + -Wl,--wrap=cosh \ + -Wl,--wrap=tanh \ + -Wl,--wrap=asinh \ + -Wl,--wrap=acosh \ + -Wl,--wrap=atanh \ + -Wl,--wrap=exp2 \ + -Wl,--wrap=log2 \ + -Wl,--wrap=exp10 \ + -Wl,--wrap=log10 \ + -Wl,--wrap=pow \ + -Wl,--wrap=powint \ + -Wl,--wrap=hypot \ + -Wl,--wrap=cbrt \ + -Wl,--wrap=fmod \ + -Wl,--wrap=drem \ + -Wl,--wrap=remainder \ + -Wl,--wrap=remquo \ + -Wl,--wrap=expm1 \ + -Wl,--wrap=log1p \ + -Wl,--wrap=fma + +# float +VPATH += $(PICOSDKROOT)/src/rp2_common/pico_float/include +SRC += \ + $(PICOSDKROOT)/src/rp2_common/pico_float/float_aeabi.S \ + $(PICOSDKROOT)/src/rp2_common/pico_float/float_init_rom.c \ + $(PICOSDKROOT)/src/rp2_common/pico_float/float_math.c \ + $(PICOSDKROOT)/src/rp2_common/pico_float/float_v1_rom_shim.S + +EXTRALDFLAGS += \ + -Wl,--wrap=__aeabi_fadd \ + -Wl,--wrap=__aeabi_fdiv \ + -Wl,--wrap=__aeabi_fmul \ + -Wl,--wrap=__aeabi_frsub \ + -Wl,--wrap=__aeabi_fsub \ + -Wl,--wrap=__aeabi_cfcmpeq \ + -Wl,--wrap=__aeabi_cfrcmple \ + -Wl,--wrap=__aeabi_cfcmple \ + -Wl,--wrap=__aeabi_fcmpeq \ + -Wl,--wrap=__aeabi_fcmplt \ + -Wl,--wrap=__aeabi_fcmple \ + -Wl,--wrap=__aeabi_fcmpge \ + -Wl,--wrap=__aeabi_fcmpgt \ + -Wl,--wrap=__aeabi_fcmpun \ + -Wl,--wrap=__aeabi_i2f \ + -Wl,--wrap=__aeabi_l2f \ + -Wl,--wrap=__aeabi_ui2f \ + -Wl,--wrap=__aeabi_ul2f \ + -Wl,--wrap=__aeabi_f2iz \ + -Wl,--wrap=__aeabi_f2lz \ + -Wl,--wrap=__aeabi_f2uiz \ + -Wl,--wrap=__aeabi_f2ulz \ + -Wl,--wrap=__aeabi_f2d \ + -Wl,--wrap=sqrtf \ + -Wl,--wrap=cosf \ + -Wl,--wrap=sinf \ + -Wl,--wrap=tanf \ + -Wl,--wrap=atan2f \ + -Wl,--wrap=expf \ + -Wl,--wrap=logf \ + -Wl,--wrap=ldexpf \ + -Wl,--wrap=copysignf \ + -Wl,--wrap=truncf \ + -Wl,--wrap=floorf \ + -Wl,--wrap=ceilf \ + -Wl,--wrap=roundf \ + -Wl,--wrap=sincosf \ + -Wl,--wrap=asinf \ + -Wl,--wrap=acosf \ + -Wl,--wrap=atanf \ + -Wl,--wrap=sinhf \ + -Wl,--wrap=coshf \ + -Wl,--wrap=tanhf \ + -Wl,--wrap=asinhf \ + -Wl,--wrap=acoshf \ + -Wl,--wrap=atanhf \ + -Wl,--wrap=exp2f \ + -Wl,--wrap=log2f \ + -Wl,--wrap=exp10f \ + -Wl,--wrap=log10f \ + -Wl,--wrap=powf \ + -Wl,--wrap=powintf \ + -Wl,--wrap=hypotf \ + -Wl,--wrap=cbrtf \ + -Wl,--wrap=fmodf \ + -Wl,--wrap=dremf \ + -Wl,--wrap=remainderf \ + -Wl,--wrap=remquof \ + -Wl,--wrap=expm1f \ + -Wl,--wrap=log1pf \ + -Wl,--wrap=fmaf |