SIGSTKSZ
sigstk.ss_size = SIGSTKSZ;
static char sig_stack[SIGSTKSZ];
sa->ss_size = SIGSTKSZ; /* Use the recommended size */
nsa.ss_size = SIGSTKSZ; /* Use the recommended size */
REQUIRE_LIBC(stack = malloc(SIGSTKSZ + STACK_ALIGNBYTES), NULL);
stack + SIGSTKSZ + STACK_ALIGNBYTES);
uc.uc_stack.ss_size = SIGSTKSZ + i;
(uintptr_t)contextsp <= (uintptr_t)stack + SIGSTKSZ + i,
uc.uc_stack.ss_size = SIGSTKSZ;
(uintptr_t)contextsp <= (uintptr_t)stack + i + SIGSTKSZ,
REQUIRE_LIBC(stack1 = malloc(SIGSTKSZ), NULL);
fprintf(stderr, "stack1 @ [%p,%p)\n", stack1, stack1 + SIGSTKSZ);
REQUIRE_LIBC(stack2 = malloc(SIGSTKSZ + STACK_ALIGNBYTES), NULL);
stack2, stack2 + SIGSTKSZ + STACK_ALIGNBYTES);
uc1.uc_stack.ss_size = SIGSTKSZ;
uc2.uc_stack.ss_size = SIGSTKSZ + i;
(uintptr_t)contextsp <= (uintptr_t)stack2 + SIGSTKSZ + i,
uc1.uc_stack.ss_size = SIGSTKSZ;
uc2.uc_stack.ss_size = SIGSTKSZ;
(uintptr_t)contextsp <= (uintptr_t)stack2 + SIGSTKSZ + i,
REQUIRE_LIBC(stack = malloc(SIGSTKSZ + STACK_ALIGNBYTES), NULL);
stack, stack + SIGSTKSZ + STACK_ALIGNBYTES);
ss.ss_size = SIGSTKSZ + i;
(uintptr_t)signalsp <= (uintptr_t)stack + SIGSTKSZ + i,
ss.ss_size = SIGSTKSZ;
(uintptr_t)signalsp <= (uintptr_t)stack + i + SIGSTKSZ,
REQUIRE_LIBC(stack = malloc(SIGSTKSZ + STACK_ALIGNBYTES), NULL);
stack + SIGSTKSZ + STACK_ALIGNBYTES);
RZ(pthread_attr_setstack(&attr, stack, SIGSTKSZ + i));
(uintptr_t)sp <= (uintptr_t)stack + SIGSTKSZ + i,
RZ(pthread_attr_setstack(&attr, stack + i, SIGSTKSZ));
(uintptr_t)sp <= (uintptr_t)stack + i + SIGSTKSZ,
ss[i].ss_size = SIGSTKSZ;
sigstk.ss_sp = malloc(SIGSTKSZ);
sigstk.ss_size = SIGSTKSZ;
sig_stack.ss_sp = mmap(NULL, SIGSTKSZ, PROT_READ | PROT_WRITE,
sig_stack.ss_size = SIGSTKSZ;
sig_stack.ss_sp = mmap(NULL, SIGSTKSZ, PROT_READ | PROT_WRITE,
sig_stack.ss_size = SIGSTKSZ;