examples/natmod/btree: Fix build for Xtensa.
This commit provides the appropriate external symbol addresses to let the "btree" example natmod build for the Xtensa platform. On the ESP8266, unsigned integer division code isn't provided as part of libgcc.a, libm.a, or libc.a, but it is instead provided by the ROM. Regular builds inject the appropriate symbol addresses as part of the linking process (see eagle.rom.addr.v6.ld), but natmods need this information brought in from somewhere else. Signed-off-by: Alessandro Gatti <a.gatti@frob.it>
This commit is contained in:
parent
887125fc58
commit
4227654d42
1 changed files with 5 additions and 1 deletions
|
|
@ -8,7 +8,7 @@ MOD = btree_$(ARCH)
|
|||
SRC = btree_c.c
|
||||
|
||||
# Architecture to build for (x86, x64, armv7m, xtensa, xtensawin, rv32imc)
|
||||
ARCH = x64
|
||||
ARCH ?= x64
|
||||
|
||||
BTREE_DIR = $(MPY_DIR)/lib/berkeley-db-1.xx
|
||||
BERKELEY_DB_CONFIG_FILE ?= \"extmod/berkeley-db/berkeley_db_config_port.h\"
|
||||
|
|
@ -32,6 +32,10 @@ SRC += $(addprefix $(realpath $(BTREE_DIR))/,\
|
|||
mpool/mpool.c \
|
||||
)
|
||||
|
||||
ifeq ($(ARCH),xtensa)
|
||||
MPY_EXTERN_SYM_FILE=$(MPY_DIR)/ports/esp8266/boards/eagle.rom.addr.v6.ld
|
||||
endif
|
||||
|
||||
include $(MPY_DIR)/py/dynruntime.mk
|
||||
|
||||
# btree needs gnu99 defined
|
||||
|
|
|
|||
Loading…
Reference in a new issue