Open
Open
@jepler

Description

CircuitPython version

9.2.0-beta.0-72-g5b771569d8

Code/REPL

diff --git a/ports/raspberrypi/mpconfigport.mk b/ports/raspberrypi/mpconfigport.mk
index 81913bde01..28ef3c5eb7 100644
--- a/ports/raspberrypi/mpconfigport.mk
+++ b/ports/raspberrypi/mpconfigport.mk
@@ -81,3 +81,5 @@ CIRCUITPY_MESSAGE_COMPRESSION_LEVEL ?= 1
 
 # (ssl is selectively enabled but it's always the mbedtls implementation)
 CIRCUITPY_SSL_MBEDTLS = 1
+
+CIRCUITPY_UHEAP = 1

Behavior

A build error occurs:

In file included from ../../py/runtime.h:31,
                 from ../../py/bc.h:30,
                 from ../../shared-module/uheap/__init__.c:9:
../../shared-module/uheap/__init__.c: In function 'int_size':
../../py/mpstate.h:338:42: error: 'mp_state_mem_t' {aka 'struct _mp_state_mem_t'} has no member named 'gc_pool_start'
  338 | #define MP_STATE_MEM(x) (mp_state_ctx.mem.x)
      |                                          ^
../../shared-module/uheap/__init__.c:23:28: note: in expansion of macro 'MP_STATE_MEM'
   23 |     (void *)ptr >= (void *)MP_STATE_MEM(gc_pool_start)         /* must be above start of pool */ \
      |                            ^~~~~~~~~~~~
../../shared-module/uheap/__init__.c:39:10: note: in expansion of macro 'VERIFY_PTR'
   39 |     if (!VERIFY_PTR(obj)) {
      |          ^~~~~~~~~~

Description

No response

Additional information

It's likely that the VERIFY_PTR macro is not correct for split-heap. This has likely been broken for some time as it's not enabled in any builds.