From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Daniel Colascione Newsgroups: gmane.emacs.devel Subject: Re: Removal of unexec support from glibc malloc Date: Mon, 18 Jan 2016 14:12:21 -0800 Message-ID: <569D6345.1090805@dancol.org> References: <569CDB81.6040600@redhat.com> <569D3BE0.6050103@cs.ucla.edu> <569D4207.4060209@cs.ucla.edu> <83mvs2d5b2.fsf@gnu.org> <569D4590.4030203@dancol.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="9bD2bptF86hmXADGItAaaEomWkOmDWvM2" X-Trace: ger.gmane.org 1453155160 15048 80.91.229.3 (18 Jan 2016 22:12:40 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 18 Jan 2016 22:12:40 +0000 (UTC) Cc: fweimer@redhat.com, Emacs-devel@gnu.org To: Philipp Stephani , Eli Zaretskii , Paul Eggert Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Jan 18 23:12:34 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aLI2M-0003w8-F1 for ged-emacs-devel@m.gmane.org; Mon, 18 Jan 2016 23:12:34 +0100 Original-Received: from localhost ([::1]:34002 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aLI2L-0002zy-Rp for ged-emacs-devel@m.gmane.org; Mon, 18 Jan 2016 17:12:33 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45901) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aLI2H-0002zn-Qm for Emacs-devel@gnu.org; Mon, 18 Jan 2016 17:12:30 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aLI2G-0003dJ-Lx for Emacs-devel@gnu.org; Mon, 18 Jan 2016 17:12:29 -0500 Original-Received: from dancol.org ([2600:3c01::f03c:91ff:fedf:adf3]:49743) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aLI2G-0003dC-CQ; Mon, 18 Jan 2016 17:12:28 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Type:In-Reply-To:MIME-Version:Date:Message-ID:From:Cc:References:To:Subject; bh=PDkY0v/0Fx319PqxD6soCSpVt4zaBjWT6U04zxCw+Xg=; b=nP2MbOfQwMSUAhOlmTOZ7Pxze4pbhqOfhU12r+96TAA6z2/56Qu5b5hr0a+1IObd7Hgv8aF9tMVeCGiUBNCOUu2qEobMSVsmWPOM0GW/S14mGuC/saC0xlt0tc0tYH9fIubGs5QCY124/PRPrvxelBf6msX79nuxAUh3hrOunuXOM29aEXvkKkqQwtWN3LkWzWkuZs/RbrUNplcgvKEsBnyflJ/OhvWHLzOgFKG8uLat4pXS7S8legqc63cneVoGBny8s/PuZULdIObC+F+y/i4aSy+09KnzTfddiQi3iCWT63g7YjcqBV72tND/o8dxzXKs+xLmHP7tRXjsP/7kBw==; Original-Received: from [2620:10d:c090:180::1:9578] (helo=[IPv6:2620:10d:c081:1110::106e]) by dancol.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84) (envelope-from ) id 1aLI2F-0003P8-Hq; Mon, 18 Jan 2016 14:12:27 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2600:3c01::f03c:91ff:fedf:adf3 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:198302 Archived-At: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --9bD2bptF86hmXADGItAaaEomWkOmDWvM2 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 01/18/2016 02:10 PM, Philipp Stephani wrote: >=20 >=20 > Daniel Colascione > schrie= b > am Mo., 18. Jan. 2016 um 21:05 Uhr: >=20 > On 01/18/2016 12:02 PM, Eli Zaretskii wrote: > >> From: Paul Eggert > > >> 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 requ= ire > > mmap. See w32heap.c. > > >=20 > 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 reloca= te > the dump as it loads, since it knows where all the pointers are). >=20 >=20 > I completely agree. Also see the existing bugs > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D20215 and > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D20868. > Does anybody have a rough estimate what would be required to make the > dumper really portable?=20 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. --9bD2bptF86hmXADGItAaaEomWkOmDWvM2 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBCAAGBQJWnWNFAAoJEN4WImmbpWBl0lQQAI3U8TuoRMpuW2pEks4+VNHo fGFwI7nwUl/hfvCh/BisuFmLe2mCmIf08OaMsOyqV+RVodRvBaLG826fMLF4fV3F XFp4BvvEN8phddtUIL/wX/456uSQyYbDeRLDtATkRZlXt17DAngMWm69S3AIrshH oB3q/M4CmgDfye04UgrDrdTIfw31OdCo2iOi46K+np1F7yK0hRuxHOKWO/G0u54+ qsptFj5Pd46bNqLFdOI96RwQOrY/66hAzAW3b9VUCbRCPctoddXXrRbmib7A13SK uuI4pQumiDLXucMJjgQcpYIoWagpXuM0MXKUxMcX5G9zv6rg9xYC4oG/HrKDeuCm 0MJrMzWz0aOqSiXc1iGgJxBPcttMNieiP6Kz39ri6IZ8G94YzHyakXmm4MoPbq5V NAvCws9fQlSGruBM9RfkUzqkLuZsVRGOZfIj9Tbnsgld1z7YFA0IzyNTWY21gJ/6 D5+GgS3Wj5UaI91LlLdmoOJdbTvtD86Tou1vA9SG/mCiz0u0u13N0SQtI0btv1Kr 7Td8qakVLJYsA2EDJ0a7xAKeMZqrRAHLihrRf2Lr4ltVOz4W3swg9IRefNUudSpp fDjtVuGlOt13ToXtHkYhiyetO1hBp3fBNSjCOX5QBDjfD0YrdCsTIo1ip+5t5Jut dY65BmL1B5tlsK7drSyb =nW8a -----END PGP SIGNATURE----- --9bD2bptF86hmXADGItAaaEomWkOmDWvM2--