1*c9945492SAndroid Build Coastguard Worker #include <signal.h> 2*c9945492SAndroid Build Coastguard Worker #include <errno.h> 3*c9945492SAndroid Build Coastguard Worker #include "syscall.h" 4*c9945492SAndroid Build Coastguard Worker sigaltstack(const stack_t * restrict ss,stack_t * restrict old)5*c9945492SAndroid Build Coastguard Workerint sigaltstack(const stack_t *restrict ss, stack_t *restrict old) 6*c9945492SAndroid Build Coastguard Worker { 7*c9945492SAndroid Build Coastguard Worker if (ss) { 8*c9945492SAndroid Build Coastguard Worker if (!(ss->ss_flags & SS_DISABLE) && ss->ss_size < MINSIGSTKSZ) { 9*c9945492SAndroid Build Coastguard Worker errno = ENOMEM; 10*c9945492SAndroid Build Coastguard Worker return -1; 11*c9945492SAndroid Build Coastguard Worker } 12*c9945492SAndroid Build Coastguard Worker if (ss->ss_flags & SS_ONSTACK) { 13*c9945492SAndroid Build Coastguard Worker errno = EINVAL; 14*c9945492SAndroid Build Coastguard Worker return -1; 15*c9945492SAndroid Build Coastguard Worker } 16*c9945492SAndroid Build Coastguard Worker } 17*c9945492SAndroid Build Coastguard Worker return syscall(SYS_sigaltstack, ss, old); 18*c9945492SAndroid Build Coastguard Worker } 19