From owner-freebsd-arch Sun Nov 5 23:50:19 2000 Delivered-To: freebsd-arch@freebsd.org Received: from palrel3.hp.com (palrel3.hp.com [156.153.255.226]) by hub.freebsd.org (Postfix) with ESMTP id 4EFC837B479 for ; Sun, 5 Nov 2000 23:50:17 -0800 (PST) Received: from adlmail.cup.hp.com (adlmail.cup.hp.com [15.0.100.30]) by palrel3.hp.com (Postfix) with ESMTP id BE4193A for ; Sun, 5 Nov 2000 23:50:16 -0800 (PST) Received: from cup.hp.com (p1000180.nsr.hp.com [15.109.0.180]) by adlmail.cup.hp.com (8.9.3 (PHNE_18546)/8.9.3 SMKit7.02) with ESMTP id XAA04678 for ; Sun, 5 Nov 2000 23:50:16 -0800 (PST) Message-ID: <3A0662B7.9B1406A@cup.hp.com> Date: Sun, 05 Nov 2000 23:50:15 -0800 From: Marcel Moolenaar Organization: Hewlett-Packard X-Mailer: Mozilla 4.73 [en] (X11; U; Linux 2.2.12 i386) X-Accept-Language: en MIME-Version: 1.0 To: arch@FreeBSD.org Subject: Request for Review: ABI/arch dependent MINSIGSTKSZ Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Hi, With the different ABIs and architectures and thus different signal frames or stack requirements, having a single MINSIGSTKSZ is not really sufficient. I've put a patch on: http://people.FreeBSD.org/~marcel/minsigstksz.diff to allow for a more flexible or variable MINSIGSTKSZ. In general this is what's changing: o Add a sv_minsigstksz field to struct sysentvec, o Have sigaltstack use this field to compare the supplied stack size with the minimum required. o Move MINSIGSTKSZ from to to better have it match the requirements of the different architectures. Especially the ia64 ports needs enough stack. o Define a MINSIGSTKSZ for each "emulator" to the value defined by the "emulated" OS for improved compatibility. A note about the values of MINSIGSTKSZ used in the patch: o alpha & ia64: sizeof(struct sigframe) is rounded to the nearest multiple of 1024. A multiplication of 4 allows for recursion/nesting and is somewhat arbitrary. o i386: sizeof(struct sigframe) is rounded to the nearest multiple of 512. A multiplication of 4 allows for recursion/nesting and is somewhat arbitrary. o iBCS2: No real value known. Use 8192 to maintain current behaviour. o OSF1 & SVR4: Wait for maintainers to report real values before committing. o Linux: Values are equal to those used in a Linux kernel. Credit: The idea of a variable MINSIGSTKSZ is bde's, not mine. Your comments please, -- Marcel Moolenaar mail: marcel@cup.hp.com / marcel@FreeBSD.org tel: (408) 447-4222 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message