Re: xfail lib/libc/setjmp-fpu regress on powerpc64

2021-04-14 Thread Alexander Bluhm
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 -  
> 1.5
> +++ regress/lib/libc/setjmp-fpu/Makefile  14 Apr 2021 18:28:12 -
> @@ -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 



xfail lib/libc/setjmp-fpu regress on powerpc64

2021-04-14 Thread Mark Kettenis
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?


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/Makefile17 Dec 2020 00:51:11 -  
1.5
+++ regress/lib/libc/setjmp-fpu/Makefile14 Apr 2021 18:28:12 -
@@ -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