Trampoline (computing)

In computer programming, the word trampoline has a number of meanings, and is generally associated with jump instructions (i.e. moving to different code paths).

In the GNU Compiler Collection (GCC) in particular, a nested function builds a trampoline on the stack at runtime, and then calls the nested function through the data on stack.

No-execute stacks and nested functions are mutually exclusive under GCC.

If a nested function is used in the development of a program, then the NX stack is silently lost.

Software engineered using secure development lifecycle often do not allow the use of nested functions due to the loss of NX stacks.