initial import of GCC 14.4.0 sources.
changes include fixes for at least 113 GCC bugs. the ones found
to be interesting include:
122943 - Wrong code for switch on int64_t on ilp32 targets at -O2 since r14-8302
123271 - -ftrapv fails to detect overflow on ARM32 since GCC 10 since r10-3995
and there are a lot of less scary ICE and runtime fixes.
mknative-gcc coming up next.
Handle two causes of the panic "lfs_ifile: looping". Repurpose the lfs_iflock
to be locked with RW_WRITER while the segment lock is held, preventing
updates to the Ifile while its blocks are being gathered; and allow more
iterations than 10 before panicking, since we might need to rewrite the
entire segment table one block per iteration. Issue uncovered in the course
of PR kern/60746.
Don't use malloc to store the cond and condattr clocks because we can't use
those methods during malloc initialization then; store it directly instead.
Fix so that the default value is set to the system clock as per TOG and update
the documentation to reflect that.
texinfo: patch configure to get correct RETSIGTYPE on GCC 15 (C23)
Currently harmless because RETSIGTYPE is referred only under dist/info/
and info/ is excluded in external/gpl2/texinfo/dist/Makefile.in.
mips: fix rdhwr emulation wrt TLB misses on loading the faulting instruction.
Use tlbp to probe the TLB for an entry for the page containing the
instruction to emulate, and fail to slow path if it doesn't exist.
A TLB miss (nested exception) on the instruction load would otherwise
land in user_gen_exception and clobber this routine's v0, since the
exception PC isn't saved again while EXL is set.
PR/60664 mips: rdhwr emulation corrupts v0 on nested TLB miss...
This patch is based on the diff included in the PR, but updated by me
to improve register save / restore in both the fast and slow paths.
The mf* instructions in user_gen_exception_common are shuffled down
to maintain the same number of stores (4) between each mf* in
user_gen_exception_common and user_gen_exception_common2
The symptoms that this change fixes match those described in
[2 lines not shown]