Our Ada 95 compiler for the SPARC does not require the stack to be
executable.  That implies that the one from Green Hills and the one
from Aonix do not either.  In fact, I suspect that GNAT is
one of the few Ada 95 compilers that does put executable code on
the stack.  I believe it does this because GCC uses "trampolines"
to support pointers to nested procedures.

-Tucker Taft   [log in to unmask]