From: Andrea Corallo Date: Fri, 16 Aug 2019 20:09:29 +0000 (+0200) Subject: export native_compiled_emacs_lisp symbol and make it loadable. X-Git-Tag: emacs-28.0.90~2727^2~1270 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=311c278c5bb26291fbe6d2e28130c43a08dce096;p=emacs.git export native_compiled_emacs_lisp symbol and make it loadable. --- diff --git a/src/comp.c b/src/comp.c index b150292041b..e3343afc7ba 100644 --- a/src/comp.c +++ b/src/comp.c @@ -2500,6 +2500,11 @@ DEFUN ("comp-init-ctxt", Fcomp_init_ctxt, Scomp_init_ctxt, define_add1_sub1 (); define_negate (); + gcc_jit_context_new_global (comp.ctxt, + NULL, + GCC_JIT_GLOBAL_EXPORTED, + comp.int_type, + "native_compiled_emacs_lisp"); return Qt; } diff --git a/src/emacs-module.c b/src/emacs-module.c index bbb0e3dadd9..1ebcf19c2da 100644 --- a/src/emacs-module.c +++ b/src/emacs-module.c @@ -954,7 +954,7 @@ DEFUN ("module-load", Fmodule_load, Smodule_load, 1, 1, 0, { dynlib_handle_ptr handle; emacs_init_function module_init; - void *gpl_sym; + void *gpl_sym, *native_comp; CHECK_STRING (file); handle = dynlib_open (SSDATA (file)); @@ -962,7 +962,8 @@ DEFUN ("module-load", Fmodule_load, Smodule_load, 1, 1, 0, xsignal2 (Qmodule_open_failed, file, build_string (dynlib_error ())); gpl_sym = dynlib_sym (handle, "plugin_is_GPL_compatible"); - if (!gpl_sym) + native_comp = dynlib_sym (handle, "native_compiled_emacs_lisp"); + if (!gpl_sym && !native_comp) xsignal1 (Qmodule_not_gpl_compatible, file); module_init = (emacs_init_function) dynlib_func (handle, "emacs_module_init");