On 11/26/25 7:45 PM, Kalvis Duckmanton wrote:
On 26/11/25 11:15, Jeff Law wrote:
On 11/18/25 7:41 PM, Kalvis Duckmanton wrote:
Hi!
The PCH use_address hooks for NetBSD hosts have not yet been updated
to allow compiled headers to be loaded at an address different from
their preferred address.
This change updates host-netbsd.cc:netbsd_gt_pch_use_address() thus:
if a compiled header cannot be mapped at its preferred address, a
region of memory is allocated and the base address of this region is
passed back to the caller (ggc-common.cc:gt_pch_restore() I
believe). Note that in this case the return value is 0, allowing
gt_pch_restore() to load the header. In this respect the behaviour
is slightly different from that of the use_address hook for other
hosts (e.g. Linux).
This change against GCC 15.2.0 builds on the work in pch/71934 (and
target/58937)
ChangeLog:
* gcc/config/host-netbsd.cc (netbsd_gt_pch_use_address): update
for pch/71934
It appears that OpenBSD has the exact same implementation of
gt_pch_use_address; is there any reason to believe we shouldn't be
doing exactly the same thing for that implementation?
I don't think there is any such reason, but I wouldn't like to speak for
the OpenBSD development team.
Understood. Not really asking you to speak for them, just a sense that
given history of the BSDs and the code in GCC, it's likely we need the
same bits for both.
Generally it looks sensible. So my preference would be to fix both
NetBSD and OpenBSD at the same time, assuming we think both need the
same fix.
Ok. I will investigate a bit further and try to confirm that the
proposed change will also work for OpenBSD.
It'd be hugely appreciated. I'm an old BSD guy myself and would love to
see it better supported these days, but can't really spend any time on
it. In theory this ought to be testable in a VM.
(I should also note at this point, for completeness, that I don't have
commit access to GCC :) )
Yea, once we're both happy with the change I can handle the final push
to the trunk.
jeff