2012-12-12 Daniel Colascione <dancol@dancol.org>
* unexcw.c (fixup_executable): use posix_fallocate to ensure that the dumped Emacs is not a sparse file, greatly improving Cygwin "make bootstrap" performance.
This commit is contained in:
parent
69e1c203e9
commit
cc98b68426
2 changed files with 19 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
2012-12-12 Daniel Colascione <dancol@dancol.org>
|
||||
|
||||
* unexcw.c (fixup_executable): use posix_fallocate to ensure that
|
||||
the dumped Emacs is not a sparse file, greatly improving Cygwin
|
||||
"make bootstrap" performance.
|
||||
|
||||
2012-12-11 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* inotify.c (inotify_callback): Generate an Emacs event for every
|
||||
|
|
13
src/unexcw.c
13
src/unexcw.c
|
@ -183,6 +183,19 @@ fixup_executable (int fd)
|
|||
exe_header->file_optional_header.FileAlignment *
|
||||
exe_header->file_optional_header.FileAlignment;
|
||||
|
||||
/* Make sure the generated bootstrap binary isn't
|
||||
* sparse. NT doesn't use a file cache for sparse
|
||||
* executables, so if we bootstrap Emacs using a sparse
|
||||
* bootstrap-emacs.exe, bootstrap takes about twenty
|
||||
* times longer than it would otherwise. */
|
||||
|
||||
ret = posix_fallocate (fd,
|
||||
( exe_header->section_header[i].s_scnptr +
|
||||
exe_header->section_header[i].s_size ),
|
||||
1);
|
||||
|
||||
assert (ret != -1);
|
||||
|
||||
ret =
|
||||
lseek (fd,
|
||||
(long) (exe_header->section_header[i].s_scnptr +
|
||||
|
|
Loading…
Add table
Reference in a new issue