Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 05 Nov 2000 23:50:15 -0800
From:      Marcel Moolenaar <marcel@cup.hp.com>
To:        arch@FreeBSD.org
Subject:   Request for Review: ABI/arch dependent MINSIGSTKSZ
Message-ID:  <3A0662B7.9B1406A@cup.hp.com>

next in thread | raw e-mail | index | archive | help
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 <sys/signal.h> to
   <machine/signal.h> 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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A0662B7.9B1406A>