Best ABI for stdarg/varargs ??

dewar@gnat.com dewar@gnat.com
Sat Apr 7 10:19:00 GMT 2001


<<  If you can assume the existence of a decent MMU in the ABI, it's also
worth marking the stack non-executable.  I suppose this must require some
alternative way of dealing with thunks / trampolines.
>>

Indeed it does reqiure that, and you should carefully consider the costs
of the decision to make the stack non-executable, they can be quite
considerable, and cause a distributed overhead for all procedure calls
via a pointer, including those not using trampolines. This is because
there is no way statically to know if a trampoline is used for a given call.

So the "it's worth ..." needs to be quantified to make sure that you are
gaining more than you are losing by such a restriction.



More information about the Gcc mailing list