http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55975
--- Comment #32 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-01-23 13:33:45 UTC --- I take it back, seems it is because the kernel mmaps the shared libraries in that range in this case. So indeed, you probably need a dynamic mapping, sorry for the noise. All that just to grow VA by 2 bits? Urgh. On x86_64 at least the address space was growing much more many years ago.