Fix the DJGPP build

* 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.
This commit is contained in:
Po Lu
2025-03-25 10:34:40 +08:00
parent 8efcdcab86
commit 49eab999f1
3 changed files with 13 additions and 4 deletions

View 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);

View 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/\

View 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