]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix the DJGPP build
authorPo Lu <luangruo@yahoo.com>
Tue, 25 Mar 2025 02:34:40 +0000 (10:34 +0800)
committerEshel Yaron <me@eshelyaron.com>
Tue, 25 Mar 2025 18:19:51 +0000 (19:19 +0100)
* msdos/emacs.djl (.bss): Guarantee that lread.o is 8-byte
aligned.

* msdos/sed2v2.inp (ALIGNOF_INT, ALIGNOF_LONG)
(ALIGNOF_LONG_LONG): Correct typos.

* src/term.c (tty_free_frame_resources): Synchronize with
non-DOS variant.

(cherry picked from commit 49eab999f13fede351ab7700c1469ba6cbf3d6b8)

msdos/emacs.djl
msdos/sed2v2.inp
src/term.c

index 3f6e0852b32f3fbf604127a69bc4e5e3efe9fc01..65b2401667e26e0d2db4a2eec732b99a1ba3ce54 100644 (file)
@@ -52,7 +52,12 @@ SECTIONS
   }
   .bss  SIZEOF(.data) + ADDR(.data) :
   {
-    *(.bss .gnu.linkonce.b.*)
+    /* Binutils always assumes an alignment of 2 for this section, with
+       the result that lread.o (which defines lispsym) must be aligned
+       to a multiple of 8 by hand.  */
+    lread.o(.bss)
+    EXCLUDE_FILE(lread.o) *(.bss)
+    *(.gnu.linkonce.b.*)
     *(COMMON)
      end = . ; PROVIDE(_end = .) ;
      . = ALIGN(0x200);
index 6a6a3c2d9a89413e9206a72c36fce25bbe7db054..cb44aea463460a5332209020026dda0ad6c480e8 100644 (file)
@@ -140,9 +140,9 @@ s/^#undef HAVE_DECL_STRTOIMAX *$/#define HAVE_DECL_STRTOIMAX 1/
 s/^#undef HAVE_PDUMPER *$/#define HAVE_PDUMPER 1/
 s/^#undef HAVE_STRTOLL *$/#define HAVE_STRTOLL 1/
 s/^#undef HAVE_STRTOULL *$/#define HAVE_STRTOULL 1/
-s/^#undef ALIGNOF_INT *$/s/^.*$/#define ALIGNOF_INT 4/
-s/^#undef ALIGNOF_LONG *$/s/^.*$/#define ALIGNOF_LONG 4/
-s/^#undef ALIGNOF_LONG_LONG *$/s/^.*$/#define ALIGNOF_LONG_LONG 4/
+/^#undef ALIGNOF_INT *$/s/^.*$/#define ALIGNOF_INT 4/
+/^#undef ALIGNOF_LONG *$/s/^.*$/#define ALIGNOF_LONG 4/
+/^#undef ALIGNOF_LONG_LONG *$/s/^.*$/#define ALIGNOF_LONG_LONG 4/
 /^#undef HAVE_STRUCT_DIRENT_D_TYPE *$/c\
 #if __DJGPP__ + (__DJGPP_MINOR__ >= 5) >= 3\
 #define HAVE_STRUCT_DIRENT_D_TYPE 1/\
index 32f3c8c48d6320a6f085832d62c017e4e812bdf1..864f86aa730dbdce7c851544c208e31c60c77396 100644 (file)
@@ -4183,6 +4183,10 @@ tty_free_frame_resources (struct frame *f)
 {
   eassert (FRAME_TERMCAP_P (f) || FRAME_MSDOS_P (f));
   free_frame_faces (f);
+  /* Deleting a child frame means we have to thoroughly redisplay its
+     root frame to make sure the child disappears from the display.  */
+  if (FRAME_PARENT_FRAME (f))
+    SET_FRAME_GARBAGED (root_frame (f));
 }
 
 #endif