From 806d7daafe9953ef3f37c1ced4f10e9fb7ec6f31 Mon Sep 17 00:00:00 2001 From: Marcel Moolenaar Date: Thu, 9 Nov 2000 08:25:48 +0000 Subject: Make MINSIGSTKSZ machine dependent, and have the sigaltstack syscall compare against a variable sv_minsigstksz in struct sysentvec as to properly take the size of the machine- and ABI dependent struct sigframe into account. The SVR4 and iBCS2 modules continue to have a minsigstksz of 8192 to preserve behavior. The real values (if different) are not known at this time. Other ABI modules use the real values. The native MINSIGSTKSZ is now defined as follows: Arch MINSIGSTKSZ ---- ----------- alpha 4096 i386 2048 ia64 12288 Reviewed by: mjacob Suggested by: bde --- sys/compat/svr4/svr4_signal.h | 2 ++ sys/compat/svr4/svr4_sysvec.c | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'sys/compat') diff --git a/sys/compat/svr4/svr4_signal.h b/sys/compat/svr4/svr4_signal.h index 1549c8330125..f7b0b520166b 100644 --- a/sys/compat/svr4/svr4_signal.h +++ b/sys/compat/svr4/svr4_signal.h @@ -132,6 +132,8 @@ struct svr4_sigaltstack { #define SVR4_SS_DISABLE 0x00000002 #define SVR4_SS_ALLBITS 0x00000003 +#define SVR4_MINSIGSTKSZ 8192 + void bsd_to_svr4_sigaltstack __P((const struct sigaltstack *, struct svr4_sigaltstack *)); void bsd_to_svr4_sigset __P((const sigset_t *, svr4_sigset_t *)); void svr4_to_bsd_sigaltstack __P((const struct svr4_sigaltstack *, struct sigaltstack *)); diff --git a/sys/compat/svr4/svr4_sysvec.c b/sys/compat/svr4/svr4_sysvec.c index 9690a99b3adf..f314d1d3cb63 100644 --- a/sys/compat/svr4/svr4_sysvec.c +++ b/sys/compat/svr4/svr4_sysvec.c @@ -177,7 +177,9 @@ struct sysentvec svr4_sysvec = { &svr4_szsigcode, NULL, "SVR4", - elf_coredump + elf_coredump, + NULL, + SVR4_MINSIGSTKSZ }; Elf32_Brandinfo svr4_brand = { -- cgit v1.3