master 3c0bc3f2ebe: Port pdumper back to 32-bit MinGW --with-wide-int

Paul Eggert <[email protected]> Thu, 16 Jul 2026 03:52:33 -0400 (EDT)
Newsgroups gmane.emacs.diffs
Message-ID <[email protected]>
branch: master
commit 3c0bc3f2ebe54007905f5f81f0418de7fefe8076
Author: Paul Eggert <[email protected]>
Commit: Paul Eggert <[email protected]>

    Port pdumper back to 32-bit MinGW --with-wide-int
    
    Problem reported by Eli Zaretskii (bug#44531#91).
    * src/pdumper.c (DUMP_RELOCATION_ALIGNMENT):
    Don’t make it larger than alignof (void *).
---
 src/pdumper.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/pdumper.c b/src/pdumper.c
index 755b27c8773..a2fc1c255e5 100644
--- a/src/pdumper.c
+++ b/src/pdumper.c
@@ -269,10 +269,12 @@ enum
   {
    DUMP_RELOC_TYPE_BITS = 5,
 
-   /* Minimum alignment required by dump file format.  Although this can
-      be any integer power of 2 up to alignof (Lisp_Alignment),
-      larger values help dump_reloc_set_offset support larger offsets.  */
-   DUMP_RELOCATION_ALIGNMENT = alignof (Lisp_Object),
+   /* Minimum alignment required by dump file format.  Lisp_Objects and raw
+      pointers can both be relocated, so this can be any integer power of 2
+      up to min (alignof (Lisp_Object), alignof (void *)).
+      Larger values help dump_reloc_set_offset support larger offsets.  */
+   DUMP_RELOCATION_ALIGNMENT = min (alignof (Lisp_Object),
+				    alignof (void *)),
 
    /* The alignment granularity (in bytes) for objects we store in the
       dump.  Always suitable for heap objects; may be more aligned.  */