Running the libstdc++ testsuite on NetBSD/sparc or NetBSD/sparc64
results in most tests failing like:
<command line>:1: fatal error: had to relocate PCH
compilation terminated.
compiler exited with status 1
This is due to a misassumption in ggc-common.c:654
(mmap_gt_pch_use_address):
This version assumes that the kernel honors the START operand of
mmap
even without MAP_FIXED if START through START+SIZE are not currently
mapped with something.
That is not true for NetBSD. Due to MMU idiosyncracies, some
architecures
(like sparc and sparc64) will align mmap requests that don't have
MAP_FIXED
set for architecture specific reasons).
Is there a reason why MAP_FIXED isn't used even though it probably
should be?