Subject: Re: bug#75907: 30.0.93; Need bigger BASE_PURESIZE when building with PGTK variant

From: Xiyue Deng <[email-masked]>
Date: Tue, 28 Jan 2025 09:09:34 -0800

Eli Zaretskii <[email-masked]> writes:

>> From: Xiyue Deng <[email-masked]>
>> Date: Tue, 28 Jan 2025 00:39:05 -0800
>> 
>> When building PGTK variant under Debian sbuild environment (with
>> GCC-14), the build process will fail with "Pure lisp storage overflowed"
>> (more error log at the end of email.)  However this seem to happen more
>> likely under this environment only.  When using the Debian stable
>> environment with GCC-12 it builds fine, so this looks to be GCC-14
>> related.
>> 
>> As it seems historically the value of BASE_PURESIZE is allowed to grow
>> to cope with similar errors, maybe increasing it again is acceptable?  I
>> tried that increasing its starting value from 3,000,000 to 5,000,000 to
>> be working, though I haven't tried a smaller value.  Patch attached.
>
> Thanks.
>
> Could you find the smallest increment that still allows you to build
> Emacs?
>

Will try to do this and report back.

> Also, what happens if you "make bootstrap" -- do you still need to
> enlarge pure size, or does it build with the current size?
>

Yes, `make bootstrap` still fails with the current size.

(A bit of a longer story: building with `make all` actually failed due to
another error that after a line of "Loading image..." there is an
invalid instruction.  It was not until I used `make bootstrap` that I
realize this was the actual issue.)

> And I see you are actually compiling with 30,000,000, which is 10
> times larger than the number you reported:
>
>>  -fstack-clash-protection -Wformat -Werror=format-security
>>  -fcf-protection -Wall -DBASE_PURESIZE=30000000' 'CPPFLAGS=-Wdate-time
>                          ^^^^^^^^^^^^^^^^^^^^^^^^
>
> Why is that?

Ah you have sharp eyes!  The Emacs I used was built with this size as I
was testing whether this was the cause.  I later retried with 5M and it
succeeded as well so I reported that value instead.  As mentioned above
I'll continue to try to find the minimal increment.

-- 
Regards,
Xiyue Deng