> 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]
We (GWU) and a few other educational sites have had this problem.
Our sysadmins have insisted on disabling stack execution. ACT has
provided a patch for earlier GNAT versions that would enable you
to rebuild the compiler from sources such that no trampolining/
stack execution is done. This makes both the compiler and the code
it generates compliant with the security fix.
As I recall, ACT actually sent me a patched Solaris binary, so I
didn't have to rebuild it myself.
ACT has told me they were preparing a "better" solution for 3.13,
but I have not seen it to date. You might want to ask ACT if you can
get a copy of the patched 3.12p, and tell them you are interested in
the forthcoming solution for 3.13.
Actually, you might want to re-post your question to [log in to unmask]
to open the issue again, and maybe even send it as a bug report
to [log in to unmask]