reorders things breaking _init() and _fini().
for i386, the {init,fini}_fallthru() functions were being output
_before_ the _init()/ _fini(), and instead of falling through to
the rest of the .init/.fini section, it would fall through to
_init()/_fini() again, and again, and again, until the stack was
exhausted.
now i386 works, but i have not checked that this works for
sparc64 as well.