W^X Transition (4 of 5): Page Permission Purity




GOT and PLT get their own pages and
thereby become non-writeable
(and we teach ld.so how to cope)

dtos/ctors move in with the GOT,
thus become non-writeable

Voila!  The data segment does not contain
any objects with X permission!

This is enough for any cpu that
supports a per-page X bit

This is W^X for:

    sparc    sparc64  alpha
    sparc64  m88k     hppa
    amd64    (ia64)