1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
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
|