summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessandro Gatti <a.gatti@frob.it>2025-04-07 22:36:26 +0200
committerDamien George <damien@micropython.org>2025-06-04 22:35:39 +1000
commit0bf2fd7ad034404208d79339c1bd82136b1cd4e3 (patch)
treec4be1c9e1197f8ceed77cbd60bf19b61958e1c97
parent9ef7322a5d11937e061b85da12900eeee62e9891 (diff)
examples/natmod/random: Fix build for Xtensa.
This commit provides the appropriate external symbol addresses to let the "random" example natmod build for the Xtensa platform. On the ESP8266, signed 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>
-rw-r--r--examples/natmod/random/Makefile6
1 files changed, 5 insertions, 1 deletions
diff --git a/examples/natmod/random/Makefile b/examples/natmod/random/Makefile
index 8abdb66dc..5d23eac1e 100644
--- a/examples/natmod/random/Makefile
+++ b/examples/natmod/random/Makefile
@@ -8,6 +8,10 @@ MOD = random_$(ARCH)
SRC = random.c
# Architecture to build for (x86, x64, armv7m, xtensa, xtensawin, rv32imc)
-ARCH = x64
+ARCH ?= x64
+
+ifeq ($(ARCH),xtensa)
+MPY_EXTERN_SYM_FILE=$(MPY_DIR)/ports/esp8266/boards/eagle.rom.addr.v6.ld
+endif
include $(MPY_DIR)/py/dynruntime.mk