diff --git a/src/init.c b/src/init.c index eec977ae4cec9..77833033d95bd 100644 --- a/src/init.c +++ b/src/init.c @@ -734,12 +734,13 @@ JL_DLLEXPORT void julia_init(JL_IMAGE_SEARCH rel) if (jl_options.cpu_target == NULL) jl_options.cpu_target = "native"; - if (jl_options.image_file) + if (jl_options.image_file) { jl_restore_system_image(jl_options.image_file); - else + } else { jl_init_types(); + jl_init_codegen(); + } - jl_init_codegen(); jl_init_common_symbols(); jl_init_flisp(); jl_init_serializer(); diff --git a/src/staticdata.c b/src/staticdata.c index d70e35542de2a..8fa1613b075a8 100644 --- a/src/staticdata.c +++ b/src/staticdata.c @@ -1839,6 +1839,7 @@ static void jl_restore_system_image_from_stream(ios_t *f) JL_GC_DISABLED } s.s = &sysimg; + jl_init_codegen(); jl_update_all_fptrs(&s); // fptr relocs and registration // reinit ccallables, which require codegen to be initialized s.s = f;