]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix the unexec build
authorEli Zaretskii <eliz@gnu.org>
Sat, 5 Nov 2022 13:19:42 +0000 (15:19 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 5 Nov 2022 13:19:42 +0000 (15:19 +0200)
* src/itree.c (forget_itree): New function.
* src/emacs.c (Fdump_emacs): Call 'forget_itree'.

src/emacs.c
src/itree.c
src/itree.h

index 40ba0db340d932f4095aba8657cb6f758df09a4c..1b2aa9442b78e9d98ceca56c727c3da56f72fc8e 100644 (file)
@@ -3105,6 +3105,8 @@ You must run Emacs in batch mode in order to dump it.  */)
   gflags.will_dump_with_unexec_ = false;
   gflags.dumped_with_unexec_ = true;
 
+  forget_itree ();
+
   alloc_unexec_pre ();
 
   unexec (SSDATA (filename), !NILP (symfile) ? SSDATA (symfile) : 0);
index cd37da18b8955072435bcb37d7137f8d3b801dcd..c5e43bb028921af9f6f3b87bbf9bc0230e4d364b 100644 (file)
@@ -294,6 +294,14 @@ init_itree (void)
   iter = itree_iterator_create (NULL);
 }
 
+#ifdef HAVE_UNEXEC
+void
+forget_itree (void)
+{
+  iter = NULL;
+}
+#endif
+
 struct check_subtree_result
 {
   /* Node count of the tree.  */
index d05bc7789a351f640b3ff368051c2de7b471e018..436fcfc7a07ed3e4c1e62318171334be52e5a1f8 100644 (file)
@@ -107,6 +107,7 @@ enum itree_order
   };
 
 extern void init_itree (void);
+extern void forget_itree (void);
 extern void itree_node_init (struct itree_node *, bool, bool, Lisp_Object);
 extern ptrdiff_t itree_node_begin (struct itree_tree *, struct itree_node *);
 extern ptrdiff_t itree_node_end (struct itree_tree *, struct itree_node *);