> >You can have r--, r-x, but you can't have --x. > > > > > But that is *exactly* what is meant by "separation" of R and X. > > I have no idea what you mean by it not being "sensible". Most every CPU > I have ever seen does this except the x86. Someone apparently thought > there was no value in separate R and X bits for the i386 back in the > mid-80s. It was a false economy :) Most very cpu except x86? You are wrong. Let's see: Does not have a way to do per-page executability control: i386 powerpc arm mips vax m68k sparcv7 (and a few legacy....) Lets see... that would be every desktop machine, and every Cisco router... and every WindowsCE device, and every PalmOS machine.. and every cell phone... Contrast this to the processors that have a way to do it: m88k amd29k sparcv8 sparcv9 ia64 amd64 alpha hppa What is that.... a list of the more rare processors? So it sure seems to me that what most people have on their desks does not have a way to do per-page X bits. It is not just x86 -- it is everything in use today. Interestingly, by using the x86 segment registers in an ugly way we come up with a hack that lets us do it on the x86 machines, but the other major cpu players utterly lack a way to do this. Forget about protecting your Mac or your Cisco or your handheld against buggy code.