summaryrefslogtreecommitdiffstats
path: root/sys/compat
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2000-11-09 08:25:48 +0000
committermarcel <marcel@FreeBSD.org>2000-11-09 08:25:48 +0000
commit1a7266b24de5311dddd975c3c4cb4da6f15f9a45 (patch)
tree455d03a734fbf59af75b8517e09aca5328c18648 /sys/compat
parent7980b37e09111f86fa7b0583f6a2e79e6434a0b0 (diff)
downloadFreeBSD-src-1a7266b24de5311dddd975c3c4cb4da6f15f9a45.zip
FreeBSD-src-1a7266b24de5311dddd975c3c4cb4da6f15f9a45.tar.gz
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
Diffstat (limited to 'sys/compat')
-rw-r--r--sys/compat/svr4/svr4_signal.h2
-rw-r--r--sys/compat/svr4/svr4_sysvec.c4
2 files changed, 5 insertions, 1 deletions
diff --git a/sys/compat/svr4/svr4_signal.h b/sys/compat/svr4/svr4_signal.h
index 1549c83..f7b0b52 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 9690a99..f314d1d 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 = {
OpenPOWER on IntegriCloud