|
From: | Daniel Colascione |
Subject: | bug#34180: 27.0.50; argv[0] used incorrectly to find the .pdmp |
Date: | Tue, 12 Oct 2021 09:24:48 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 |
On 10/12/21 5:27 AM, Mattias Engdegård wrote:
I don't think Paul meant that we necessarily have to use the embedded dump in-place. It could just as well be the source of a memory copy to its runtime location; everything would then work just like today except that the dump file is embedded into the executable.
Copying the dump on startup will hurt performance --- the dump is meant to be used directly from a disk-backed file.
I'm also not entirely clear on how you're planning on avoiding the usual problems with executable modification --- relinking the executable can change all the locations of the symbols in the binary, and if symbol locations change, any previously-generated dump becomes invalid.
Even if on *some* platforms *today* we can replace an embedded dump image in an already-built executable without re-linking the thing, there's no guarantee that we can continue doing that. (For example --- imagine a future platform that signs all binaries during the build process.) Modifying binaries is always a platform-specific thing and doing it for Emacs risks forward compatibility. Usin a separate dump file relies only on public APIs guaranteed to work forever.
[Prev in Thread] | Current Thread | [Next in Thread] |