[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#44531: 27.1; Emacs 27 fails to build from source on m68k (regression
From: |
Pip Cet |
Subject: |
bug#44531: 27.1; Emacs 27 fails to build from source on m68k (regression) |
Date: |
Sat, 23 Jul 2022 14:42:58 +0000 |
On Sat, Jul 2, 2022 at 7:29 PM Stefan Monnier via Bug reports for GNU
Emacs, the Swiss army knife of text editors <bug-gnu-emacs@gnu.org>
wrote:
> > dumping fingerprint:
> > 7b5c59c589dc151eb1e4269bd83fbe809616b5cb9bb5c80014d5b560b391dfb6
> > dump relocation out of range
>
> This error message basically says that the relation is not a multiple of
> the minimum expected alignment. So it seems to be a direct consequence
> of the 16bit alignment used on m68k combined with the following from
> pdumper.el:
pdumper.c, I think :-)
> [...]
> DUMP_RELOC_ALIGNMENT_BITS = 2,
>
> /* Minimum alignment required by dump file format. */
> DUMP_RELOCATION_ALIGNMENT = 1 << DUMP_RELOC_ALIGNMENT_BITS,
> [...]
>
> I can't see anything in the code which explains what this alignment
> requirement is about. You can try lowering DUMP_RELOC_ALIGNMENT_BITS
> to 1 and see if that works (long shot).
IIUC, the top (DUMP_RELOC_TYPE_BITS - DUMP_RELOC_ALIGNMENT_BITS) of
the relocation offsets stored by pdumper must be 0. That means we can
only address the first 512 MB of the dump in ordinary 32-bit pdumper
builds, and 256 MB on m68k with your fix. I'm not sure how useful a
data point this is without real silicon, but I tried on an m68k
emulator (qemu), could reproduce the bug, and your fix works there.
Pip