>What's "data space", and how is it different from any other sort of
>space? (Most UNIX systems run with a flat address space on 386es. PTEs
>on the 386 only have a "writable" bit.)
with "flat" address spaces don't really have them; what they do is set cs
and ds (and es, and ss) to point to the same memory range. *However*, you
still cannot execute data; you have to execute code. Consider it as an
alias of forms.
How does this affect people? Well, consider the following code, which is
somewhat similar to code I ran into recently:
Oops. ss is a readable and writable segment, not an executable segment.
Memory-fault, core-dump. (Note: to make it work, all you have to do is
Anyway, just a bunch of nit-picking, because I can't fall asleep yet...
Sean Eric Fagan | "I made the universe, but please don't blame me for it;
-----------------+ -- The Turtle (Stephen King, _It_)
Any opinions expressed are my own, and generally unpopular with others.