powerpc PROT_EXEC best-effort powerpc lacks per-page X bit Hardware feature: 16 256MB segments, these have an X bit architecture has a near-access offset limit of 256MB (pic vs PIC) Solution: Make every 2nd segment X or not-X Link each shared object to have 256MB gap between code & data Map code & data segments from program, ld.so, and library over segment boundaries Result: W^X on powerpc Might be in 3.4