The fixSectionAlignments() function may alter the alignment of some OutputSections, this is likely to alter the addresses calculated earlier in assignAddresses(). By moving the call to fixSectionAlignments() we make sure that assignAddresses() is consistent with the early calculation used for RangeThunks and the final call just before writing the image.
This difference in address between the first call the assignAddresses() and the second may, with some linker scripts, cause some range-thunk calculations to go wrong, however for the majority of links it won't affect the relative offsets between callers and callees.
It is more important for a fix for pr33463 https://bugs.llvm.org/show_bug.cgi?id=33463 as the sequence of instructions that trigger the cortex-a53 errata are sensitive to address modulo 0x1000.