Andy Moreton schrieb am Fr., 16. Feb. 2018 um 12:31 Uhr: > On Fri 16 Feb 2018, Eli Zaretskii wrote: > > >> Date: Thu, 15 Feb 2018 15:34:13 -0800 > >> From: Daniel Colascione > >> Cc: Eli Zaretskii , Angelo Graziosi >, > >> emacs-devel@gnu.org > >> > >> I do wonder whether it makes sense to try to copy the dump into the > Emacs executable itself instead of > >> leaving it as a separate file. We could do it independently of > executable format by defining a data array in static > >> storage that's initially full of, say, 15MB of zeroes prefixed by a > long random header (like a MIME boundary), > >> then, after we generate emacs.pdmp, copying the dump file into the > executable at the place where we see > >> that random header. If the dump turns out to be bigger than that 15MB, > we can fail the build and ask the user > >> to enlarge the array. > >> > >> I don't know of any executable format for which this scheme would fail. > > > > Wouldn't that make the dumper stuff less portable, in the sense that > > it would need to be compatible with low-level details of executable > > file formats on various systems? > > > > At least on non-ELF systems, AFAIK the flexibility of putting > > arbitrary sections into an executable is lower than desired. For > > example, before Emacs 25 the MS-Windows build would create a special > > section for the initialized Emacs data, which had the annoying effect > > of running afoul of 'strip', because Binutils don't know about this > > section, and therefore stripping would produce a dysfunctional > > executable. It also prevented re-dumping Emacs, something we had in > > the past and I'd like us to have again in the future. > > > > Wouldn't copying the dump into the executable hit the same problems, > > at least in principle? > > I don't understand the desire to put the dump within the eamcs > executable, as I thought the whole point of this exercise was to avoid > dodgy manipulation of executable file formats. > I agree. We already ship a lot of files that are expected at certain locations, like the Emacs Lisp files or the files in `data-directory', why should the pdump file be different?