From fe9ffff9c0374684f9e89292099d11d957ef9a3e Mon Sep 17 00:00:00 2001 From: Damien George Date: Sun, 19 Dec 2021 08:55:40 +1100 Subject: [PATCH] py/mpstate.h: Only include sys.path/argv objects in state when enabled. The mp_sys_path_obj and mp_sys_argv_obj objects are only used by the runtime and accessible from Python if MICROPY_PY_SYS is enabled. So exclude them from the runtime state if this option is disabled. Signed-off-by: Damien George --- py/mpconfig.h | 2 +- py/mpstate.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/py/mpconfig.h b/py/mpconfig.h index f0d11961d3..d93100bb83 100644 --- a/py/mpconfig.h +++ b/py/mpconfig.h @@ -1308,7 +1308,7 @@ typedef double mp_float_t; // Whether to initialise "sys.path" and "sys.argv" to their defaults in mp_init() #ifndef MICROPY_PY_SYS_PATH_ARGV_DEFAULTS -#define MICROPY_PY_SYS_PATH_ARGV_DEFAULTS (1) +#define MICROPY_PY_SYS_PATH_ARGV_DEFAULTS (MICROPY_PY_SYS) #endif // Whether to provide "sys.maxsize" constant diff --git a/py/mpstate.h b/py/mpstate.h index 69fee06546..8ece151663 100644 --- a/py/mpstate.h +++ b/py/mpstate.h @@ -153,10 +153,12 @@ typedef struct _mp_state_vm_t { // dictionary for the __main__ module mp_obj_dict_t dict_main; + #if MICROPY_PY_SYS // If MICROPY_PY_SYS_PATH_ARGV_DEFAULTS is not enabled then these two lists // must be initialised after the call to mp_init. mp_obj_list_t mp_sys_path_obj; mp_obj_list_t mp_sys_argv_obj; + #endif // dictionary for overridden builtins #if MICROPY_CAN_OVERRIDE_BUILTINS