GNU bug report logs - #57035
Support for site-load.el in native-compile dumping

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Severity: wishlist; Reported by: Lynn Winebarger <owinebar@HIDDEN>; dated Sun, 7 Aug 2022 12:16:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.
Severity set to 'wishlist' from 'normal' Request was from Stefan Kangas <stefan@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 57035 <at> debbugs.gnu.org:


Received: (at 57035) by debbugs.gnu.org; 7 Aug 2022 13:16:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Aug 07 09:16:32 2022
Received: from localhost ([127.0.0.1]:36224 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oKg8t-0001Uy-SF
	for submit <at> debbugs.gnu.org; Sun, 07 Aug 2022 09:16:32 -0400
Received: from mail-pj1-f47.google.com ([209.85.216.47]:56152)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <owinebar@HIDDEN>) id 1oKg8r-0001Ui-7V
 for 57035 <at> debbugs.gnu.org; Sun, 07 Aug 2022 09:16:31 -0400
Received: by mail-pj1-f47.google.com with SMTP id a8so6572079pjg.5
 for <57035 <at> debbugs.gnu.org>; Sun, 07 Aug 2022 06:16:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc;
 bh=EiqgTV7kynsmhhVVdooeoSxjUnihcw/UvjM1sH6xsDQ=;
 b=kD1EbDsMSgmIAzm+kOduR5zjNlyux7RZNM0KXNAVTPR54Czf3DjyFF3ZdKyQ2wt0uw
 POg/8no0H7s9CgDfH8bFItvpsssg8GE9Z4bFTHdabU9UzSn+4uJDvR3g7v0OGECo9Jix
 jflYDx/T1g/k3UH6DO6/ver2Ep9cyJy4xmM+i6DD0VU1vevTWcx/IAxdXNtREVtJsY2t
 FRO4m4pPMkebv8xlgnHpWGYCM7f3QD2gOxgIZk1nOIV47vl7xQuhca2T4OHrhSn/HHCm
 B4id+0tdOzRT38lc9UCXDsMbN19cYiA09z097RTD3ccwishbJRelbDaPMVGo7yGEg/ih
 zigA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc;
 bh=EiqgTV7kynsmhhVVdooeoSxjUnihcw/UvjM1sH6xsDQ=;
 b=6ZdhQ7dMgwtcNfB8WpLz8RMFTQCuus2eu+/QYfTKsSG18XLdEO/MvACxSyjDUOZJnA
 VNsi9mr7UApDjPPJ0JhZLhzVAUvqam+8x6vdMTm0hdsxVd5nEfrHNG4Bx40sGLPToELI
 Bgpn5bwEwwTEKx3etPiH3y0FMHPt4T/8kWA6vewzzX2tH9eyguJD6MALfsZRv1yYvv6G
 XWDxIb6Yw4Sb0nJZPCdU8a1NUIzrs9L/bMwbpLC49dW1T5BWkERSP+Dhi4WeonVtyCeC
 eOlYgI75DDa4zxW8nldoDIbU46V915gzKGWWg8PUxvqZAK1jv3wqr4nBddvZgzR6h73P
 TQVA==
X-Gm-Message-State: ACgBeo0gaz2w0UsvSVEC7sr2btS0NJBKCCZR9caVpebYN8WmfIav5cFE
 UIukxnhr9Xi4KS9bWgctHyakztaUyvM3ttTj440=
X-Google-Smtp-Source: AA6agR7pU+ubT4tCH0AxjqujI7HF4iC5Q5uqXIHguuXeX29KXxFsaX/JfbGy1bUCzT84cUH6GgOOVTJ8niDGBOQblxs=
X-Received: by 2002:a17:90a:bc1:b0:1f2:435f:94bc with SMTP id
 x1-20020a17090a0bc100b001f2435f94bcmr16690591pjd.5.1659878183287; Sun, 07 Aug
 2022 06:16:23 -0700 (PDT)
MIME-Version: 1.0
References: <CAM=F=bBEK_qpypwzuUOMfv+LSF5_mkDVVP8+N953xkV3hkQPTQ@HIDDEN>
 <878ro02owz.fsf@HIDDEN>
In-Reply-To: <878ro02owz.fsf@HIDDEN>
From: Lynn Winebarger <owinebar@HIDDEN>
Date: Sun, 7 Aug 2022 09:16:11 -0400
Message-ID: <CAM=F=bBdhugCWp_j+-bC6fjoHQnkjzP3j0n6JeQ9U9hOTOmCsQ@HIDDEN>
Subject: Re: bug#57035: Support for site-load.el in native-compile dumping
To: Lars Ingebrigtsen <larsi@HIDDEN>
Content-Type: multipart/alternative; boundary="0000000000007c40d005e5a6812a"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 57035
Cc: 57035 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--0000000000007c40d005e5a6812a
Content-Type: text/plain; charset="UTF-8"

On Sun, Aug 7, 2022, 8:55 AM Lars Ingebrigtsen <larsi@HIDDEN> wrote:

> Lynn Winebarger <owinebar@HIDDEN> writes:
>
> > +. Add a flag variable to turn off the docstring hack in lead.c once
> > loadup has been processed (or eliminate the hack entirely).
>
> The hack has been removed on the trunk.
>
> > I think that covers all the issues I dealt with.  If my employer
> > allows I can donate code to fix the purecopy issues in versions prior
> > to 29.
>
> As I think Eli has said before, changes in this area are not going to be
> backported to earlier Emacs versions, so you should just concentrate on
> Emacs 29.


The code fixing the limitations and bugs of purecopy (at least the ones
triggered while dumping a large variety of loaded libraries) has already
been implemented for 28.1 on my employer's systems.  If they are willing to
donate it (less than 100 lines of C), I'll post a patch.  Even if it won't
be incorporated in the Emacs distribution, Linux vendors who are
conservative in the version of Emacs they package may choose to use it in
their builds.  Aside from supporting bool vectors and strings with text
properties in pure space, it fixes a couple of fatal bugs that can be
triggered while dumping - one segfault and one runaway allocation.

Lynn

--0000000000007c40d005e5a6812a
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto"><div><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D=
"gmail_attr">On Sun, Aug 7, 2022, 8:55 AM Lars Ingebrigtsen &lt;<a href=3D"=
mailto:larsi@HIDDEN">larsi@HIDDEN</a>&gt; wrote:<br></div><blockquote c=
lass=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;=
padding-left:1ex">Lynn Winebarger &lt;<a href=3D"mailto:owinebar@HIDDEN"=
 target=3D"_blank" rel=3D"noreferrer">owinebar@HIDDEN</a>&gt; writes:<br=
>
<br>
&gt; +. Add a flag variable to turn off the docstring hack in lead.c once<b=
r>
&gt; loadup has been processed (or eliminate the hack entirely).<br>
<br>
The hack has been removed on the trunk.<br>
<br>
&gt; I think that covers all the issues I dealt with.=C2=A0 If my employer<=
br>
&gt; allows I can donate code to fix the purecopy issues in versions prior<=
br>
&gt; to 29.<br>
<br>
As I think Eli has said before, changes in this area are not going to be<br=
>
backported to earlier Emacs versions, so you should just concentrate on<br>
Emacs 29.</blockquote></div></div><div dir=3D"auto"><br></div><div dir=3D"a=
uto">The code fixing the limitations and bugs of purecopy (at least the one=
s triggered while dumping a large variety of loaded libraries) has already =
been implemented for 28.1 on my employer&#39;s systems.=C2=A0 If they are w=
illing to donate it (less than 100 lines of C), I&#39;ll post a patch.=C2=
=A0 Even if it won&#39;t be incorporated in the Emacs distribution, Linux v=
endors who are conservative in the version of Emacs they package may choose=
 to use it in their builds.=C2=A0 Aside from supporting bool vectors and st=
rings with text properties in pure space, it fixes a couple of fatal bugs t=
hat can be triggered while dumping - one segfault and one runaway allocatio=
n.</div><div dir=3D"auto"><br></div><div dir=3D"auto">Lynn</div><div dir=3D=
"auto"><br></div><div dir=3D"auto"><br></div><div dir=3D"auto"></div></div>

--0000000000007c40d005e5a6812a--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#57035; Package emacs. Full text available.

Message received at 57035 <at> debbugs.gnu.org:


Received: (at 57035) by debbugs.gnu.org; 7 Aug 2022 12:56:06 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Aug 07 08:56:06 2022
Received: from localhost ([127.0.0.1]:36176 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oKfp8-000536-4V
	for submit <at> debbugs.gnu.org; Sun, 07 Aug 2022 08:56:06 -0400
Received: from quimby.gnus.org ([95.216.78.240]:56824)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1oKfp6-00052g-Mz
 for 57035 <at> debbugs.gnu.org; Sun, 07 Aug 2022 08:56:05 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Content-Type:MIME-Version:Message-ID:Date:References:
 In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:
 Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:
 List-Subscribe:List-Post:List-Owner:List-Archive;
 bh=Ntwhq7K4K2aGGbcwheUuDPgzJOLpEUDF2ir4RPaoLIM=; b=rJEMoeCx1lFH9hXpLDJV9zw5em
 YXSjM6893w0/QPOyp09NWIOViVBlPWIH0GyZtaVAGgFfiBnyEfULl4E7YycYgQn2DjJsooY2EW82w
 VfS2G1KLLKNzTU9841KYI8lplg5DDxIrvHSQKg94K4OyYFqLt2WJ5cP3FTUJcrMd8bVk=;
Received: from [84.212.220.105] (helo=joga)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>)
 id 1oKfoy-0006bR-JZ; Sun, 07 Aug 2022 14:55:58 +0200
From: Lars Ingebrigtsen <larsi@HIDDEN>
To: Lynn Winebarger <owinebar@HIDDEN>
Subject: Re: bug#57035: Support for site-load.el in native-compile dumping
In-Reply-To: <CAM=F=bBEK_qpypwzuUOMfv+LSF5_mkDVVP8+N953xkV3hkQPTQ@HIDDEN>
 (Lynn Winebarger's message of "Sun, 7 Aug 2022 08:15:17 -0400")
References: <CAM=F=bBEK_qpypwzuUOMfv+LSF5_mkDVVP8+N953xkV3hkQPTQ@HIDDEN>
Date: Sun, 07 Aug 2022 14:55:56 +0200
Message-ID: <878ro02owz.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 @@CONTACT_ADDRESS@@ for details.
 Content preview: Lynn Winebarger <owinebar@HIDDEN> writes: > +. Add a flag
 variable to turn off the docstring hack in lead.c once > loadup has been
 processed (or eliminate the hack entirely). The hack has been removed on the
 trunk. Content analysis details:   (-2.9 points, 5.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
 [score: 0.0000]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 57035
Cc: 57035 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Lynn Winebarger <owinebar@HIDDEN> writes:

> +. Add a flag variable to turn off the docstring hack in lead.c once
> loadup has been processed (or eliminate the hack entirely).

The hack has been removed on the trunk.

> I think that covers all the issues I dealt with.  If my employer
> allows I can donate code to fix the purecopy issues in versions prior
> to 29.

As I think Eli has said before, changes in this area are not going to be
backported to earlier Emacs versions, so you should just concentrate on
Emacs 29.





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#57035; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 7 Aug 2022 12:15:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Aug 07 08:15:37 2022
Received: from localhost ([127.0.0.1]:36115 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oKfBw-0003xz-Kz
	for submit <at> debbugs.gnu.org; Sun, 07 Aug 2022 08:15:37 -0400
Received: from lists.gnu.org ([209.51.188.17]:44436)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <owinebar@HIDDEN>) id 1oKfBv-0003xs-Am
 for submit <at> debbugs.gnu.org; Sun, 07 Aug 2022 08:15:36 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:38738)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <owinebar@HIDDEN>)
 id 1oKfBu-0007TE-CT
 for bug-gnu-emacs@HIDDEN; Sun, 07 Aug 2022 08:15:35 -0400
Received: from mail-pg1-x52c.google.com ([2607:f8b0:4864:20::52c]:38524)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <owinebar@HIDDEN>)
 id 1oKfBs-000437-IL
 for bug-gnu-emacs@HIDDEN; Sun, 07 Aug 2022 08:15:34 -0400
Received: by mail-pg1-x52c.google.com with SMTP id r22so3945048pgm.5
 for <bug-gnu-emacs@HIDDEN>; Sun, 07 Aug 2022 05:15:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=to:subject:message-id:date:from:mime-version:from:to:cc;
 bh=vU/88tG+QECMUdkuwZvPs74zdXi0e/uxfNcVHg3bxLY=;
 b=Y9aq/tuYG0odFeoM/6oNPHlmNxClbesktsddtYDXyXVMOsZLyGsaUbGNlMKXYZsFeq
 TI6ro6Iyj1yCBWAtGsLi++zFg62iYJks9gG510Q6ZcaNruLxlzRpWoeZCfmSJfA0C2qu
 3bOoqPazn3CcK7F1vGw0nNN37cg4kdSsER8g5RS00vg4TLQltFPaxTztJdD67HtHc8Mh
 YazeWEdOOgMkCmq553PwI9yJ8t/QYhNyqNk3y+Iu7LQ/AGuy7eQd2B7PB2uD3FD68/0z
 6zy4CV3xzexeFlOtyuQjt6Vk8P2l54/uMbH6CoWhyYpidsIFRP8/XiJnxnq3HfIbj5ZM
 FdhQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=to:subject:message-id:date:from:mime-version:x-gm-message-state
 :from:to:cc;
 bh=vU/88tG+QECMUdkuwZvPs74zdXi0e/uxfNcVHg3bxLY=;
 b=DV9FNvsCDFu72bH1v0lV2QzYXNG6dqBNkEeD6yBiJKkyyy51B5Tu5Awr9QRfbpQUQH
 ISXP19eiDNkBjmqOvrod3Sy8oI5oH9snaYUsHu4yvRIJ+q/XvHQeKUKqL6WQ/h0PJMM2
 0za4FYi3bsE5X0g5v9HNqi9bfxAhdvtI723yPief8/r8pAJCRxhpyBNqbXXKX4VhfPuA
 ELLa+csCNLq0Xtc30adXUUaxPSzPc5LDiSYLOhhPqJrQxTJxgxGs2JE0RA0N4AJXuGL+
 MlzTnbXnSwaq2rENZMio2SAf01rKJW7FzOC6ZUELnPAIvRt4BGthXpPZKvr9LB9/6wl9
 NOrg==
X-Gm-Message-State: ACgBeo1k6C71LSE/o2I1CqTmajwL6boW4FYRjf4wuVIxgzlmzSfquDyF
 8rr8derjpFolano3WWHyJAwDAd4buqGag0zFKH3cifbB
X-Google-Smtp-Source: AA6agR6RZ1jktWmvPwWaw+q3ENFxwqacho9/LUCjOjATh2Hj/mvBdiUACHwAOV07S23+xsV3QUJINEr0AjRYl8XCRls=
X-Received: by 2002:a63:2bc1:0:b0:412:706e:73ad with SMTP id
 r184-20020a632bc1000000b00412706e73admr11860438pgr.488.1659874530212; Sun, 07
 Aug 2022 05:15:30 -0700 (PDT)
MIME-Version: 1.0
From: Lynn Winebarger <owinebar@HIDDEN>
Date: Sun, 7 Aug 2022 08:15:17 -0400
Message-ID: <CAM=F=bBEK_qpypwzuUOMfv+LSF5_mkDVVP8+N953xkV3hkQPTQ@HIDDEN>
Subject: Support for site-load.el in native-compile dumping
To: bug-gnu-emacs@HIDDEN
Content-Type: multipart/alternative; boundary="000000000000bec41605e5a5a702"
Received-SPF: pass client-ip=2607:f8b0:4864:20::52c;
 envelope-from=owinebar@HIDDEN; helo=mail-pg1-x52c.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

--000000000000bec41605e5a5a702
Content-Type: text/plain; charset="UTF-8"

Version 28.1+
By experimentation I've found the following issues are all that prevent
dumping with large numbers of pre-loaded native compiled units.  The
improvement in start-up performance versus requiring the same libraries in
a .emacs file is ridiculous, even with all libraries pre-compiled.  The
same fixes would provide support for user's construction of personal dump
files.
+ Add additional build stage so a compile phase that only loads loadup is
produced first, with a following stage to compile all the libraries loaded
by site-load.  Originally suggested by Stefan Monnier, it appears
absolutely necessary.  Most libraries not 8n loadup implicitly assume those
libraries are in the compile-time environment.
+. Add a flag variable to turn off the docstring hack in lead.c once loadup
has been processed (or eliminate the hack entirely).
+ Also turn off the prohibition on implicit loading while in dump mode
based on that flag variable.  The file dependencies of site-load can be
determined using load-history once the baseline (loadup only) dump has been
constructed.
+ Turn off purification flag before loading site-load, or fix bugs in
purecopy/pure_alloc (elimination of pure space counts as a bug fix).  Note
that when I've selectively turned off the purify flag in site-load to avoid
purecopy bugs, the process would reach the stage of calling pdump, but that
call would hang indefinitely (I let it go for a couple of hours the first
time, and it just burned cpu cycles without any change in memory use).
+ Enable the standard load path before loading site-load.
+ Make all_loaded_comp_units_h visible as a lisp variable, so loadup can
explicitly fix up all loaded comp units, whether there is a symbol bound to
a subr in that unit or not.
+ Make it possible to cleanly turn off further asynchronous compilation.  I
currently set native-comp-deferred-compilation-deny-list to '("/.*/"), but
I've still seen an occasional job running the compiler on some subr.
+ Ensure the compiler is run using the pdmp file constructed just from
loadup.  It will be impossible to support or debug compiling with arbitrary
compile-time environments.  I've already encountered an issue from having
call-interactive somehow advise itself when compiling with only additional
core emacs libraries in the dump.

I think that covers all the issues I dealt with.  If my employer allows I
can donate code to fix the purecopy issues in versions prior to 29.

Lynn

--000000000000bec41605e5a5a702
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto">Version 28.1+<div dir=3D"auto">By experimentation I&#39;v=
e found the following issues are all that prevent dumping with large number=
s of pre-loaded native compiled units.=C2=A0 The improvement in start-up pe=
rformance versus requiring the same libraries in a .emacs file is ridiculou=
s, even with all libraries pre-compiled.=C2=A0 The same fixes would provide=
 support for user&#39;s construction of personal dump files.</div><div dir=
=3D"auto">+ Add additional build stage so a compile phase that only loads l=
oadup is produced first, with a following stage to compile all the librarie=
s loaded by site-load.=C2=A0 Originally suggested by Stefan Monnier, it app=
ears absolutely necessary.=C2=A0 Most libraries not 8n loadup implicitly as=
sume those libraries are in the compile-time environment.</div><div dir=3D"=
auto">+. Add a flag variable to turn off the docstring hack in lead.c once =
loadup has been processed (or eliminate the hack entirely).</div><div dir=
=3D"auto">+ Also turn off the prohibition on implicit loading while in dump=
 mode based on that flag variable.=C2=A0 The file dependencies of site-load=
 can be determined using load-history once the baseline (loadup only) dump =
has been constructed.</div><div dir=3D"auto">+ Turn off purification flag b=
efore loading site-load, or fix bugs in purecopy/pure_alloc (elimination of=
 pure space counts as a bug fix).=C2=A0 Note that when I&#39;ve selectively=
 turned off the purify flag in site-load to avoid purecopy bugs, the proces=
s would reach the stage of calling pdump, but that call would hang indefini=
tely (I let it go for a couple of hours the first time, and it just burned =
cpu cycles without any change in memory use).=C2=A0=C2=A0</div><div dir=3D"=
auto">+ Enable the standard load path before loading site-load.</div><div d=
ir=3D"auto">+ Make all_loaded_comp_units_h visible as a lisp variable, so l=
oadup can explicitly fix up all loaded comp units, whether there is a symbo=
l bound to a subr in that unit or not.=C2=A0=C2=A0</div><div dir=3D"auto">+=
 Make it possible to cleanly turn off further asynchronous compilation.=C2=
=A0 I currently set native-comp-deferred-compilation-deny-list to &#39;(&qu=
ot;/.*/&quot;), but I&#39;ve still seen an occasional job running the compi=
ler on some subr.=C2=A0=C2=A0</div><div dir=3D"auto">+ Ensure the compiler =
is run using the pdmp file constructed just from loadup.=C2=A0 It will be i=
mpossible to support or debug compiling with arbitrary compile-time environ=
ments.=C2=A0 I&#39;ve already encountered an issue from having call-interac=
tive somehow advise itself when compiling with only additional core emacs l=
ibraries in the dump.</div><div dir=3D"auto"><br></div><div dir=3D"auto">I =
think that covers all the issues I dealt with.=C2=A0 If my employer allows =
I can donate code to fix the purecopy issues in versions prior to 29.</div>=
<div dir=3D"auto"><br></div><div dir=3D"auto">Lynn</div><div dir=3D"auto"><=
br></div><div dir=3D"auto"><br></div></div>

--000000000000bec41605e5a5a702--




Acknowledgement sent to Lynn Winebarger <owinebar@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#57035; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 8 Aug 2022 14:45:01 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.