PROT_EXEC purity POSIX has PROT_READ, PROT_WRITE, PROT_EXEC In most systems, PROT_READ implies PROT_EXEC BUT... we are permitted to do better Needs hardware support in the MMU! Perfect: sparc (sun4m), sparc64, alpha, hppa, (hammer in 64 bit mode) Impossible: m68k, vax, mips Very difficult... later work: m88k Horrific hacks: i386, powerpc No real overhead. Making these changes sped up some architectures