unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Daniel Colascione <dancol@dancol.org>
To: Philipp Stephani <p.stephani2@gmail.com>,
	Eli Zaretskii <eliz@gnu.org>, Paul Eggert <eggert@cs.ucla.edu>
Cc: fweimer@redhat.com, Emacs-devel@gnu.org
Subject: Re: Removal of unexec support from glibc malloc
Date: Mon, 18 Jan 2016 14:12:21 -0800	[thread overview]
Message-ID: <569D6345.1090805@dancol.org> (raw)
In-Reply-To: <CAArVCkRK-V33kbSYjtGCRRUYzNX5QHz3=M=pU-wkVrBquZBgLA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2256 bytes --]

On 01/18/2016 02:10 PM, Philipp Stephani wrote:
> 
> 
> Daniel Colascione <dancol@dancol.org <mailto:dancol@dancol.org>> schrieb
> am Mo., 18. Jan. 2016 um 21:05 Uhr:
> 
>     On 01/18/2016 12:02 PM, Eli Zaretskii wrote:
>     >> From: Paul Eggert <eggert@cs.ucla.edu <mailto:eggert@cs.ucla.edu>>
>     >> Date: Mon, 18 Jan 2016 11:50:31 -0800
>     >>
>     >> Emacs could live without the current unexec in a semi-portable
>     way by doing what
>     >> XEmacs does, which is to write out data and mmap it in later
>     (sorry, don't know
>     >> the details). There are other possibilities, e.g., have unexec
>     write out the
>     >> state in the form of C files that are compiled and linked in the
>     usual way to
>     >> build a faster-starting executable (this would be an Emacs API
>     change, though).
>     >> Any such changes would take some time to hack into something
>     reliable and
>     >> portable, and so will have to wait until after Emacs 25 is out.
>     >
>     > There's also what the MS-Windows port does (temacs allocates off a
>     > static array), which AFAIK is entirely portable, and doesn't require
>     > mmap.  See w32heap.c.
>     >
> 
>     It's a portable stopgap, maybe, but a real portable dumper would be
>     _much_ better, since then Emacs could be a much safer
>     position-independnent executable (as a portable dumper would relocate
>     the dump as it loads, since it knows where all the pointers are).
> 
> 
> I completely agree. Also see the existing bugs
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20215 and
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20868.
> Does anybody have a rough estimate what would be required to make the
> dumper really portable? 

I think it depends on how much we depend on non-lisp malloc-sourced
memory allocations. I honestly don't know.

As long as we're talking about work to do: I'd love for the new portable
dumper to support dumping Emacs multiple times. I've had to put a lot of
effort into my configuration to get Emacs to start in an acceptable
time, and a lot of people tolerate multi-second Emacs startup times.
It'd be nice if we could dump Emacs after loading user customizations.



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

  reply	other threads:[~2016-01-18 22:12 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-18 12:33 Removal of unexec support from glibc malloc Florian Weimer
2016-01-18 19:20 ` John Wiegley
2016-01-18 20:27   ` Florian Weimer
2016-01-19 13:52     ` Should Glibc API be changed? Richard Stallman
2016-01-19 16:40       ` Florian Weimer
2016-01-20  2:56         ` Richard Stallman
2016-01-20 17:07           ` Florian Weimer
2016-01-23  5:56     ` Removal of unexec support from glibc malloc Stefan Monnier
2016-01-26 22:08       ` Florian Weimer
2016-01-18 22:45   ` Ali Bahrami
2016-01-18 23:45     ` John Wiegley
2016-01-19  0:45     ` Wolfgang Jenkner
2016-01-19  0:56       ` Ali Bahrami
2016-01-19  1:14     ` Dmitry Gutov
2016-01-19  1:44       ` Ken Raeburn
2016-01-19  1:59         ` Dmitry Gutov
2016-01-19  3:10           ` Ken Raeburn
2016-01-19  3:17             ` Dmitry Gutov
2016-01-19  7:03         ` Florian Weimer
2016-01-19  8:36           ` Ken Raeburn
2016-01-19 16:42           ` Eli Zaretskii
2016-01-19  1:45       ` Ali Bahrami
2016-01-19  2:03         ` Dmitry Gutov
2016-01-19 16:04         ` Eli Zaretskii
2016-01-20  2:57           ` Richard Stallman
2016-01-20  7:43             ` David Caldwell
2016-01-20  9:35               ` Eli Zaretskii
2016-01-21  3:01                 ` Richard Stallman
2016-01-21  3:00               ` Richard Stallman
2016-01-19 15:58     ` Eli Zaretskii
2016-01-19 20:37       ` Fabrice Popineau
2016-01-20  2:56         ` Richard Stallman
2016-01-23 13:51           ` Michael Sperber
2016-01-23 20:36             ` Marcus Crestani
2016-01-19 23:53   ` Sam Steingold
2016-01-18 19:24 ` Paul Eggert
2016-01-18 19:30   ` John Wiegley
2016-01-18 19:47     ` Daniel Colascione
2016-01-18 19:54       ` Zack Weinberg
2016-01-18 19:55         ` Daniel Colascione
2016-01-18 22:27           ` Joseph Myers
2016-01-18 23:16             ` Florian Weimer
2016-01-18 19:50     ` Paul Eggert
2016-01-18 19:54       ` Daniel Colascione
2016-01-18 20:02       ` Eli Zaretskii
2016-01-18 20:05         ` Daniel Colascione
2016-01-18 22:10           ` Philipp Stephani
2016-01-18 22:12             ` Daniel Colascione [this message]
2016-01-18 22:36               ` Óscar Fuentes
2016-01-23  5:50               ` Stefan Monnier
2016-01-18 20:24         ` Wolfgang Jenkner
2016-01-18 20:29           ` Eli Zaretskii
2016-01-18 20:36             ` Wolfgang Jenkner
2016-01-18 22:42           ` Paul Eggert
2016-01-18 23:23             ` Florian Weimer
2016-01-19  6:31               ` Paul Eggert
2016-01-19  9:27                 ` Florian Weimer
2016-01-19 10:14                   ` Florian Weimer
2016-01-19 13:27                 ` Wolfgang Jenkner
2016-01-19 16:58                   ` Eli Zaretskii
2016-01-30  9:38                 ` Paul Eggert
2016-01-18 22:44       ` Florian Weimer
2016-01-19  3:48         ` Eli Zaretskii
2016-01-23  5:49           ` Stefan Monnier
2016-01-23  7:00             ` Eli Zaretskii
2016-01-23 15:29               ` Stefan Monnier
2016-01-23 15:50                 ` Eli Zaretskii
2016-01-23 22:19                   ` Stefan Monnier
2016-01-23 22:52               ` Richard Stallman
2016-01-26 22:17                 ` Florian Weimer
2016-01-27  1:32                   ` Stefan Monnier
2016-01-27  3:38                   ` Eli Zaretskii
2016-01-27  9:04                     ` Florian Weimer
2016-01-27 16:02                       ` Eli Zaretskii
2016-01-27 22:54                     ` Richard Stallman
2016-01-27 22:52                   ` Richard Stallman
2016-01-18 23:15   ` Florian Weimer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=569D6345.1090805@dancol.org \
    --to=dancol@dancol.org \
    --cc=Emacs-devel@gnu.org \
    --cc=eggert@cs.ucla.edu \
    --cc=eliz@gnu.org \
    --cc=fweimer@redhat.com \
    --cc=p.stephani2@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).