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)