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