mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-26 20:03:54 -06:00
bsd-user: Define TARGET_SIGSTACK_ALIGN and use it to round stack
Most (all?) targets require stacks to be properly aligned. Rather than a series of ifdefs in bsd-user/signal.h, instead use a manditory #define for all architectures. Signed-off-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
5b6828d194
commit
5fa2a10ba6
5 changed files with 9 additions and 8 deletions
|
@ -728,14 +728,7 @@ static inline abi_ulong get_sigframe(struct target_sigaction *ka,
|
|||
sp = ts->sigaltstack_used.ss_sp + ts->sigaltstack_used.ss_size;
|
||||
}
|
||||
|
||||
/* TODO: make this a target_arch function / define */
|
||||
#if defined(TARGET_ARM)
|
||||
return (sp - frame_size) & ~7;
|
||||
#elif defined(TARGET_AARCH64)
|
||||
return (sp - frame_size) & ~15;
|
||||
#else
|
||||
return sp - frame_size;
|
||||
#endif
|
||||
return ROUND_DOWN(sp - frame_size, TARGET_SIGSTACK_ALIGN);
|
||||
}
|
||||
|
||||
/* compare to $M/$M/exec_machdep.c sendsig and sys/kern/kern_sig.c sigexit */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue