1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-05 22:20:24 -08:00
emacs/msdos
Po Lu a5f8ce9f1e Re-port to 32-bit systems without alignment primitives
* configure.ac (ALIGNOF_INT, ALIGNOF_LONG, ALIGNOF_LONG_LONG):
New variables.
(emacs_cv_alignas_unavailable): Define if alignas and structure
alignment primitives are unavailable.  In such an environment,
the MSB tagging scheme must be enabled, as must the GNU malloc.

* msdos/sed2v2.inp: Adjust correspondingly.

* src/alloc.c (union emacs_align_type): Remove types which
contain flexible array members.  The address of a field
subsequent to an aggregate with flexible array members cannot
validly be taken.
(mark_memory) [!USE_LSB_TAG && !WIDE_EMACS_INT]: Strip type bits
before scanning memory.

* src/emacs.c (main):

* src/eval.c (Fautoload_do_load):

* src/fns.c (Frequire): Rename a number of illogically named
fields.

* src/lisp.h (ALIGNOF_EMACS_INT): Define to the natural
alignment of EMACS_INT.
(IDEAL_GCALIGNMENT): New macro.
(USE_LSB_TAG): Disable if no alignment specifiers are available,
WIDE_EMACS_INT is undefined, and the natural alignment of
EMACS_INT falls short of LSB tagging's requirements.
(gflags): Rename illogically named fields and don't define them
as bitfields, which runs afoul of certain compiler issues.
(will_dump_p, will_bootstrap_p, will_dump_with_pdumper_p)
(dumped_with_pdumper_p): Adjust accordingly.

* src/pdumper.c (VM_SUPPORTED): Define to 0 when !USE_LSB_TAG.
It is better to read dump files into the heap by hand than to be
supplied with an address that is not representable.
(_dump_object_start_pseudovector): Rename to
dump_object_start_pseudovector, to avoid encroaching on reserved
names.
(START_DUMP_PVEC): Adjust correspondingly.
(dump_mmap_contiguous_vm): Preserve errno around failure
cleanup.
(dump_bitset_bit_set_p): Work around certain compiler issues.
(pdumper_load) [!USE_LSB_TAG]: Reject dump file allocations
that are not representable as Lisp_Objects.

Tested on i386-unknown-solaris2.10, sparc-sun-solaris2.10.
2025-03-09 23:07:33 +08:00
..
autogen Merge branch 'scratch/no-purespace' into 'master' 2025-02-01 04:56:52 +01:00
ChangeLog.1 Update copyright year to 2025 2025-01-01 07:39:17 +00:00
COPYING
depfiles.bat Fix copyright years by hand 2025-01-01 07:41:51 +00:00
emacs.djl Port to modern GCC and pdumper on MS-DOS 2025-02-20 14:04:59 +08:00
emacs.ico
emacs.pif
INSTALL Port to modern GCC and pdumper on MS-DOS 2025-02-20 14:04:59 +08:00
inttypes.h Update copyright year to 2025 2025-01-01 07:39:17 +00:00
langinfo.h Update copyright year to 2025 2025-01-01 07:39:17 +00:00
mainmake.v2 Port to modern GCC and pdumper on MS-DOS 2025-02-20 14:04:59 +08:00
README Update copyright year to 2025 2025-01-01 07:39:17 +00:00
sed1v2.inp Port to modern GCC and pdumper on MS-DOS 2025-02-20 14:04:59 +08:00
sed1x.inp Update copyright year to 2025 2025-01-01 07:39:17 +00:00
sed2v2.inp Re-port to 32-bit systems without alignment primitives 2025-03-09 23:07:33 +08:00
sed2x.inp Update copyright year to 2025 2025-01-01 07:39:17 +00:00
sed3v2.inp Update copyright year to 2025 2025-01-01 07:39:17 +00:00
sed3x.inp
sed4.inp Update copyright year to 2025 2025-01-01 07:39:17 +00:00
sed5x.inp Update copyright year to 2025 2025-01-01 07:39:17 +00:00
sed6.inp Port to modern GCC and pdumper on MS-DOS 2025-02-20 14:04:59 +08:00
sedadmin.inp Update copyright year to 2025 2025-01-01 07:39:17 +00:00
sedalloc.inp Update copyright year to 2025 2025-01-01 07:39:17 +00:00
sedleim.inp Update copyright year to 2025 2025-01-01 07:39:17 +00:00
sedlibcf.inp Update copyright year to 2025 2025-01-01 07:39:17 +00:00
sedlibmk.inp Port to modern GCC and pdumper on MS-DOS 2025-02-20 14:04:59 +08:00
sedlisp.inp Update copyright year to 2025 2025-01-01 07:39:17 +00:00

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Copyright (C) 2001-2025 Free Software Foundation, Inc.
See the end of the file for license conditions.


This directory contains scripts for building the DJGPP (a.k.a. MS-DOS)
version of Emacs, and other files useful for running that version of
Emacs.

The files emacs.ico and emacs.pif are for using the DJGPP version on
Windows 3.X.  Since these are binary files, their copyright notice is
reproduced here:

# Copyright (C) 2001-2025 Free Software Foundation, Inc.
#
# This file is part of GNU Emacs.
#
# This file is free software; as a special exception, the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# ----------------------------------------------------------------------


This file is part of GNU Emacs.

GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.