Android Go team (a project to make Android work better on memory and
CPU-contrained devices) found that this heuristics achieves better
memory write locality, and thus saves memory because it reduces the
number of dirty pages at runtime.
IIRC, we used to sort common symbols by size, but the code is now gone.
This patch in some sense resurrects it and extends to all symbols in .bss.
I wonder whether we should do this for all SHF_WRITE sections. I can see similar logic applying to .data for example.