In mozilla there are a lot of page faults caused by paging in C++ global initializers. About 1/3rd of firefox faults are globals.
ie the first part of a prelinked firefox startup is a bunch of faults caused by _GLOBAL__I_nsFtpConnectionThread.cpp, _GLOBAL__I_nsCookieService.cpp, etc.
If these were grouped together large C++ apps would load much faster. Once the initializers are easily identifiable by the linker, the linker needs to lay these out in a continuous chunk in the ordered that they are called.
The patch should probably work with minor updates in 4.5 branch too.
This is solved on GCC side. Still gold needs updating to sort the sections accordingly.