Skip to content

Commit

Permalink
Enable Nuttx spec test option and register aot symbols (bytecodeallia…
Browse files Browse the repository at this point in the history
…nce#1687)

Enable spec test option on Nuttx platform.
Register sqrt/sqrtf in aot global symbol map and
_fixdfdi/__floatundidf in xtensa symbol map.
  • Loading branch information
dongsheng28849455 authored Nov 8, 2022
1 parent 79dfa40 commit 3848df4
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 2 deletions.
2 changes: 2 additions & 0 deletions core/iwasm/aot/aot_reloc.h
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,8 @@ typedef struct {
{ "memset", (void*)aot_memset }, \
{ "memmove", (void*)aot_memmove }, \
{ "memcpy", (void*)aot_memmove }, \
{ "sqrt", (void*)aot_sqrt }, \
{ "sqrtf", (void*)aot_sqrtf }, \
REG_SYM(fmin), \
REG_SYM(fminf), \
REG_SYM(fmax), \
Expand Down
12 changes: 12 additions & 0 deletions core/iwasm/aot/aot_runtime.c
Original file line number Diff line number Diff line change
Expand Up @@ -1968,6 +1968,18 @@ aot_memset(void *s, int c, size_t n)
return memset(s, c, n);
}

double
aot_sqrt(double x)
{
return sqrt(x);
}

float
aot_sqrtf(float x)
{
return sqrtf(x);
}

#if WASM_ENABLE_BULK_MEMORY != 0
bool
aot_memory_init(AOTModuleInstance *module_inst, uint32 seg_index, uint32 offset,
Expand Down
6 changes: 6 additions & 0 deletions core/iwasm/aot/aot_runtime.h
Original file line number Diff line number Diff line change
Expand Up @@ -451,6 +451,12 @@ aot_memmove(void *dest, const void *src, size_t n);
void *
aot_memset(void *s, int c, size_t n);

double
aot_sqrt(double x);

float
aot_sqrtf(float x);

#if WASM_ENABLE_BULK_MEMORY != 0
bool
aot_memory_init(AOTModuleInstance *module_inst, uint32 seg_index, uint32 offset,
Expand Down
7 changes: 5 additions & 2 deletions core/iwasm/aot/arch/aot_reloc_xtensa.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ void __gtdf2();
void __umoddi3();
void __floatdidf();
void __divsf3();
void __fixdfdi();
void __floatundidf();


static SymbolMap target_sym_map[] = {
REG_COMMON_SYMBOLS
Expand Down Expand Up @@ -80,8 +83,8 @@ static SymbolMap target_sym_map[] = {
REG_SYM(__umoddi3),
REG_SYM(__floatdidf),
REG_SYM(__divsf3),
REG_SYM(sqrt),
REG_SYM(sqrtf),
REG_SYM(__fixdfdi),
REG_SYM(__floatundidf),
};
/* clang-format on */

Expand Down
6 changes: 6 additions & 0 deletions product-mini/platforms/nuttx/wamr.mk
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,12 @@ else
CFLAGS += -DWASM_ENABLE_GLOBAL_HEAP_POOL=0
endif

ifeq ($(CONFIG_INTERPRETERS_WAMR_ENABLE_SPEC_TEST),y)
CFLAGS += -DWASM_ENABLE_SPEC_TEST=1
else
CFLAGS += -DWASM_ENABLE_SPEC_TEST=0
endif

CFLAGS += -Wno-strict-prototypes -Wno-shadow -Wno-unused-variable
CFLAGS += -Wno-int-conversion -Wno-implicit-function-declaration

Expand Down

0 comments on commit 3848df4

Please sign in to comment.