Skip to content

uheap no longer builds #9701

Open
Open
@jepler

Description

@jepler

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions