From b893473925f3f583687b75809f9e219e5a671cdd Mon Sep 17 00:00:00 2001 From: Pip Cet Date: Tue, 2 Jul 2024 09:33:18 +0000 Subject: [PATCH] Fix MPS+native-comp compilation * src/pdumper.c (decode_emacs_reloc): follow the dump redirection pointer to a strong hash table. --- src/pdumper.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/pdumper.c b/src/pdumper.c index 6ace914820b..dc1621b3cb9 100644 --- a/src/pdumper.c +++ b/src/pdumper.c @@ -4015,6 +4015,14 @@ decode_emacs_reloc (struct dump_context *ctx, Lisp_Object lreloc) { eassume (ctx); /* Pacify GCC 9.2.1 -O3 -Wnull-dereference. */ eassert (!dump_object_emacs_ptr (target_value)); +#ifdef HAVE_MPS + if (WEAK_HASH_TABLE_P (target_value)) + { + strengthen_hash_table_for_dump (XWEAK_HASH_TABLE (target_value)); + target_value = XWEAK_HASH_TABLE (target_value)->dump_replacement; + } +#endif + reloc.u.dump_offset = dump_recall_object (ctx, target_value); if (reloc.u.dump_offset <= 0) { -- 2.45.2