What do you need the executable stack for? You call using a function pointer, there's no executable read/write memory involved in using a function pointer.
At first, I was annoyed by having to read AT&T syntax. Then I was disoriented by realizing the next snippet was in AT&T syntax without the '%' sigil for registers. But the technique is cool.
4 comments