Skip to content

Commit c05b93f

Browse files
authored
aot runtime: Add missing arm/thumb relocations (#3660)
1 parent b21e3fd commit c05b93f

2 files changed

Lines changed: 32 additions & 0 deletions

File tree

core/iwasm/aot/arch/aot_reloc_arm.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ void __divdi3();
6767
void __divsf3();
6868
void __divsi3();
6969
void __eqdf2();
70+
void __eqsf2();
7071
void __extendsfdf2();
7172
void __fixdfdi();
7273
void __fixdfsi();
@@ -169,6 +170,7 @@ static SymbolMap target_sym_map[] = {
169170
REG_SYM(__divsf3),
170171
REG_SYM(__divsi3),
171172
REG_SYM(__eqdf2),
173+
REG_SYM(__eqsf2),
172174
REG_SYM(__extendsfdf2),
173175
REG_SYM(__fixdfdi),
174176
REG_SYM(__fixdfsi),

core/iwasm/aot/arch/aot_reloc_thumb.c

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,32 +16,47 @@
1616
/* clang-format off */
1717
void __adddf3();
1818
void __addsf3();
19+
void __aeabi_d2f();
1920
void __aeabi_d2iz();
2021
void __aeabi_d2lz();
2122
void __aeabi_d2uiz();
2223
void __aeabi_d2ulz();
2324
void __aeabi_dadd();
25+
void __aeabi_dcmpeq();
2426
void __aeabi_dcmpge();
2527
void __aeabi_dcmpgt();
2628
void __aeabi_dcmple();
2729
void __aeabi_dcmplt();
2830
void __aeabi_dcmpun();
2931
void __aeabi_ddiv();
32+
void __aeabi_dmul();
33+
void __aeabi_dsub();
3034
void __aeabi_f2d();
3135
void __aeabi_f2iz();
3236
void __aeabi_f2lz();
3337
void __aeabi_f2ulz();
38+
void __aeabi_fadd();
39+
void __aeabi_fcmpeq();
3440
void __aeabi_fcmpge();
41+
void __aeabi_fcmpgt();
3542
void __aeabi_fcmple();
3643
void __aeabi_fcmplt();
3744
void __aeabi_fcmpun();
45+
void __aeabi_fdiv();
46+
void __aeabi_fmul();
47+
void __aeabi_fsub();
3848
void __aeabi_i2d();
49+
void __aeabi_i2f();
3950
void __aeabi_idiv();
4051
void __aeabi_idivmod();
4152
void __aeabi_l2d();
4253
void __aeabi_l2f();
4354
void __aeabi_ldivmod();
55+
void __aeabi_llsl();
56+
void __aeabi_llsr();
57+
void __aeabi_lmul();
4458
void __aeabi_ui2d();
59+
void __aeabi_ui2f();
4560
void __aeabi_uidiv();
4661
void __aeabi_uidivmod();
4762
void __aeabi_ul2d();
@@ -120,32 +135,47 @@ static SymbolMap target_sym_map[] = {
120135
REG_SYM(__unordsf2),
121136
#endif
122137
/* clang-format on */
138+
REG_SYM(__aeabi_d2f),
123139
REG_SYM(__aeabi_d2iz),
124140
REG_SYM(__aeabi_d2lz),
125141
REG_SYM(__aeabi_d2uiz),
126142
REG_SYM(__aeabi_d2ulz),
127143
REG_SYM(__aeabi_dadd),
144+
REG_SYM(__aeabi_dcmpeq),
128145
REG_SYM(__aeabi_dcmpge),
129146
REG_SYM(__aeabi_dcmpgt),
130147
REG_SYM(__aeabi_dcmple),
131148
REG_SYM(__aeabi_dcmplt),
132149
REG_SYM(__aeabi_dcmpun),
133150
REG_SYM(__aeabi_ddiv),
151+
REG_SYM(__aeabi_dmul),
152+
REG_SYM(__aeabi_dsub),
134153
REG_SYM(__aeabi_f2d),
135154
REG_SYM(__aeabi_f2iz),
136155
REG_SYM(__aeabi_f2lz),
137156
REG_SYM(__aeabi_f2ulz),
157+
REG_SYM(__aeabi_fadd),
158+
REG_SYM(__aeabi_fcmpeq),
138159
REG_SYM(__aeabi_fcmpge),
160+
REG_SYM(__aeabi_fcmpgt),
139161
REG_SYM(__aeabi_fcmple),
140162
REG_SYM(__aeabi_fcmplt),
141163
REG_SYM(__aeabi_fcmpun),
164+
REG_SYM(__aeabi_fdiv),
165+
REG_SYM(__aeabi_fmul),
166+
REG_SYM(__aeabi_fsub),
142167
REG_SYM(__aeabi_i2d),
168+
REG_SYM(__aeabi_i2f),
143169
REG_SYM(__aeabi_idiv),
144170
REG_SYM(__aeabi_idivmod),
145171
REG_SYM(__aeabi_l2d),
146172
REG_SYM(__aeabi_l2f),
147173
REG_SYM(__aeabi_ldivmod),
174+
REG_SYM(__aeabi_llsl),
175+
REG_SYM(__aeabi_llsr),
176+
REG_SYM(__aeabi_lmul),
148177
REG_SYM(__aeabi_ui2d),
178+
REG_SYM(__aeabi_ui2f),
149179
REG_SYM(__aeabi_uidiv),
150180
REG_SYM(__aeabi_uidivmod),
151181
REG_SYM(__aeabi_ul2d),

0 commit comments

Comments
 (0)