Subject: Re: signal trampoline implementation choices
To: None <is@netbsd.org>
From: None <cgd@broadcom.com>
List: tech-kern
Date: 04/20/2002 20:23:26
At Sat, 20 Apr 2002 19:44:58 +0000 (UTC), "Ignatios Souvatzis" wrote:
> A reason NOT to do it in libc: you want to be able to signal a very
> misbehaving program. E.g., one not correctly linked.

You don't have to have a working signal trampoline in order to signal
a program.

Invoking the signal trampoline at all means that the process has had
to set up a signal handler.  (consider the default actions for
signals, and also the effect of exec on user-specified signal
handlers.)

if they've set up a signal handler... they're pretty much OK.


The original message asked:
> > Which are the motivation toward thoses different implementations? I
> > found this
> > for trampoline in libc: 
> > - the stack does not need to be executable

Of course, IIRC the stack "needs" to be executable to support other
generic features of e.g. our compiler.  (e.g. nested functions in C,
which is a GCC extension.)

(some would say they're gross, but i've actually seen code that uses
them...)



cgd