]> sourceware.org Git - newlib-cygwin.git/commit
Fix a bug in setjmp for MIPS o32/o64 FPXX/FP64
authorGiovanni Bajo <rasky@develer.com>
Sat, 17 Dec 2022 14:47:23 +0000 (15:47 +0100)
committerCorinna Vinschen <corinna@vinschen.de>
Mon, 19 Dec 2022 09:38:05 +0000 (10:38 +0100)
commit9bba9c2bdd22b2011f1fa6da36e6bc6a70af42ec
tree246c6d79540294b8914fd087f86f7fd689da575b
parentc8130c3fe8c7c662a94cd720bf62883bd628850f
Fix a bug in setjmp for MIPS o32/o64 FPXX/FP64

It seems there is a swapped logic in one of the subcases of
setjmp.S for MIPS: when the FPU registers are 64-bit within
a 32-bit aligned jmp_buf, the code realigns the pointers
before doing 64-bit writes, but the branch logic is swapped:
we must avoid the address adjustement when bit 2 is zero
(that is, the address is already 8-byte aligned).

This always triggers an address error when run, as tested
on a MIPS VR4300 with O64 ABI.
newlib/libc/machine/mips/setjmp.S
This page took 0.028571 seconds and 5 git commands to generate.