On Wed, Apr 14, 2021 at 08:33:43PM +0200, Mark Kettenis wrote: > The ELFv2 ABI on powerpc64 explicitly states that when returning > through setjmp(3) from longjmp(3), the "limited access bits" are *not* > restored to the values they had before setjmp(3) was called. > > This means that the tests here are expected to fail according to the > ABI. > > Now we may opt to restore them anyway. But it should be obvious that > relying on this behaviour is not portable. > > Thoughts?
OK bluhm@ > Index: regress/lib/libc/setjmp-fpu/Makefile > =================================================================== > RCS file: /cvs/src/regress/lib/libc/setjmp-fpu/Makefile,v > retrieving revision 1.5 > diff -u -p -r1.5 Makefile > --- regress/lib/libc/setjmp-fpu/Makefile 17 Dec 2020 00:51:11 -0000 > 1.5 > +++ regress/lib/libc/setjmp-fpu/Makefile 14 Apr 2021 18:28:12 -0000 > @@ -15,4 +15,12 @@ run-$p: $p > ./$p > .endfor > > +.if ${MACHINE} == powerpc64 > +# The powerpc64 ELFv2 ABI explicitly states that exception enable bits > +# and rounding control bits are not restored by longjmp(3) > +.for p in ${PROGS:M*jmp} > +REGRESS_EXPECTED_FAILURES += run-$p > +.endfor > +.endif > + > .include <bsd.regress.mk>