From d6c0efe106b1016108207fb6872820c06dcef4f8 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Tue, 3 Jul 2012 20:07:33 -0400 Subject: jmp_buf overhaul fixing several issues on arm, the location of the saved-signal-mask flag and mask were off by one between sigsetjmp and siglongjmp, causing incorrect behavior restoring the signal mask. this is because the siglongjmp code assumed an extra slot was in the non-sig jmp_buf for the flag, but arm did not have this. now, the extra slot is removed for all archs since it was useless. also, arm eabi requires jmp_buf to have 8-byte alignment. we achieve that using long long as the type rather than with non-portable gcc attribute tags. --- arch/i386/bits/setjmp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'arch/i386') diff --git a/arch/i386/bits/setjmp.h b/arch/i386/bits/setjmp.h index b6595bd2..5610be9b 100644 --- a/arch/i386/bits/setjmp.h +++ b/arch/i386/bits/setjmp.h @@ -1 +1 @@ -typedef unsigned long jmp_buf [7]; +typedef unsigned long jmp_buf[6]; -- cgit v1.2.1