Previously these sections were being generated during their
constructors. This moves the work to finalizeContent, and also does
the same for the relocation sections because their contents depends
on the final layout too.
This change is smaller part of a larger refactor to how we deal
with synthetic sections: https://reviews.llvm.org/D61811
Could you add a comment as to what this function is supposed to do? E.g.
writeBody writes section contents to Body string. You need to call this function before fixing section layout because otherwise section size is not known.