ABI breaker: Move the J_SIGMASK field in the jmpbuf before

the J_SIG0 field. While here, rename J_SIG0 to J_SIGSET and
remove J_SIG1. The main reason for this change is that the
128-bit sigset_t is now aligned on a 16-byte boundary, which
allows us to use 16-byte atomic loads and stores on CPUs that
support it. The removal of J_SIG1 is done to avoid confusion:
it is never accessed and should not be. Renaming J_SIG0 to
J_SIGSET is the icing on the cake that's better done now than
later.
This commit is contained in:
Marcel Moolenaar 2003-03-05 03:30:54 +00:00
parent c266c8aa6c
commit a402169a8e
2 changed files with 4 additions and 5 deletions

View File

@ -50,7 +50,7 @@ ENTRY(setjmp, 1)
;;
mov out0=1 // how = SIG_BLOCK
mov out1=0 // set = NULL
add out2=J_SIG0,in0 // oset = &jb[J_SIG0]
add out2=J_SIGSET,in0 // oset = &jb[J_SIGSET]
br.call.sptk.few rp=__sys_sigprocmask
;;
mov rp=loc1
@ -68,7 +68,7 @@ ENTRY(__longjmp, 2)
mov loc1=rp
;;
mov out0=3 // how = SIG_SETMASK
add out1=J_SIG0,in0 // set = &jb[J_SIG0]
add out1=J_SIGSET,in0 // set = &jb[J_SIGSET]
mov out2=0 // oset = NULL
br.call.sptk.few rp=__sys_sigprocmask
;;

View File

@ -86,9 +86,8 @@
#define J_B3 0x1c0
#define J_B4 0x1c8
#define J_B5 0x1d0
#define J_SIG0 0x1d8
#define J_SIG1 0x1e0
#define J_SIGMASK 0x1e8
#define J_SIGMASK 0x1d8
#define J_SIGSET 0x1e0
#endif /* __BSD_VISIBLE */
/*