]> git.eshelyaron.com Git - emacs.git/commitdiff
Some fixes for --without-nativecomp config
authorAndrea Corallo <akrl@sdf.org>
Sat, 6 Jun 2020 12:00:45 +0000 (13:00 +0100)
committerAndrea Corallo <akrl@sdf.org>
Sat, 6 Jun 2020 12:06:29 +0000 (13:06 +0100)
* src/pdumper.c (dump_subr): Do not add RELOC_NATIVE_SUBR for
VERY_LATE_RELOCS in --without-nativecomp.
(dump_do_dump_relocation): Add a sanity check that no
RELOC_NATIVE_SUBR exists in --without-nativecomp.

* src/lread.c (Fload): As Fnative_elisp_load is not defined
in --without-nativecomp so ifdef this block.

src/lread.c
src/pdumper.c

index 026f3b6d98f5e58cf320f7099b41b668bdeecdda..192c7ba773a9d9e3bf234d8712d1ffad9d62e226 100644 (file)
@@ -1507,6 +1507,7 @@ Return t if the file exists and loads successfully.  */)
     }
   else if (is_native_elisp)
     {
+#ifdef HAVE_NATIVE_COMP
       specbind (Qcurrent_load_list, Qnil);
       if (!NILP (Vpurify_flag))
        {
@@ -1517,6 +1518,11 @@ Return t if the file exists and loads successfully.  */)
       LOADHIST_ATTACH (hist_file_name);
       Fnative_elisp_load (found, Qnil);
       build_load_history (hist_file_name, true);
+#else
+      /* This cannot happen.  */
+      emacs_abort ();
+#endif
+
     }
   else
     {
index ffe59fbb3061793595e9bfd5a20a86f8e08dbf40..92ac96a8faa9f4bccf26aa9d82e988900e8a4a26 100644 (file)
@@ -2967,7 +2967,9 @@ dump_subr (struct dump_context *ctx, const struct Lisp_Subr *subr)
     dump_field_lv (ctx, &out, subr, &subr->native_comp_u[0], WEIGHT_NORMAL);
 
   dump_off subr_off = dump_object_finish (ctx, &out, sizeof (out));
-  if (ctx->flags.dump_object_contents && !NILP (subr->native_comp_u[0]))
+  if (NATIVE_COMP_FLAG
+      && ctx->flags.dump_object_contents
+      && !NILP (subr->native_comp_u[0]))
     /* We'll do the final addr relocation during VERY_LATE_RELOCS time
        after the compilation units has been loaded. */
     dump_push (&ctx->dump_relocs[VERY_LATE_RELOCS],
@@ -5331,6 +5333,10 @@ dump_do_dump_relocation (const uintptr_t dump_base,
       }
     case RELOC_NATIVE_SUBR:
       {
+       if (!NATIVE_COMP_FLAG)
+         /* This cannot happen.  */
+         emacs_abort ();
+
        /* When resurrecting from a dump given non all the original
           native compiled subrs may be still around we can't rely on
           a 'top_level_run' mechanism, we revive them one-by-one