MAP_32BIT should not go because it has uses other than the stack.
For instance Lush (lush.sf.net) uses it for implementing the
dynamic linking capabilities needed by its compiler.
This is because gcc compiles x86_64 with
option -mcmodel=small by default and therefore the program
and its symbols must be linked in the lower 2 GB of
the address space. To make things more interesting,
gcc currently does not implement the -mcmodel=large.