Merge branch 'dynamic-first-env' into 'develop'

boot: allocate first_env dynamically at startup

Closes #828

See merge request embeddable-common-lisp/ecl!370
This commit is contained in:
Marius Gerbershagen 2026-04-26 15:07:55 +00:00
commit 082d513d65
2 changed files with 10 additions and 5 deletions

View file

@ -29,10 +29,13 @@
* Pending changes since 26.3.27
- bugfix: MAKE-PACKAGE destructively modified definning form conses of the
package local nicknames breaking bytecmp on such packages (#839)
- bugfix: MAKE-PACKAGE destructively modified defining form's cons cells of
the package local nicknames, breaking package literals in bytecmp (#839)
- Support for Microsoft Visual Studio compilers has been dropped
- build: support for Microsoft Visual Studio Compiler has been dropped
- bugfix: the first environment is now always page-aligned by using the
same allocation mechanism as all subsequent envs (#828)
* 26.3.27 changes since 24.5.10

View file

@ -49,7 +49,6 @@
/******************************* EXPORTS ******************************/
const char *ecl_self;
static struct cl_env_struct first_env;
/************************ GLOBAL INITIALIZATION ***********************/
@ -419,7 +418,7 @@ struct cl_core_struct cl_core = {
.system_properties = ECL_NIL,
.first_env = &first_env,
.first_env = NULL,
#ifdef ECL_THREADS
.processes = ECL_NIL,
#endif
@ -498,6 +497,9 @@ cl_boot(int argc, char **argv)
setbuf(stdin, stdin_buf);
setbuf(stdout, stdout_buf);
#endif
/* The first environment must be available at all times. */
cl_core.first_env = _ecl_alloc_env(NULL);
init_process();
ARGC = argc;