This should make non-split type units fully conform to DWARF v5.
An artifact of the LLVM implementation means that the type-unit sections
will appear before the compile-unit section in the object file. So, readers
making assumptions about ordering will need to learn better.
(I'm looking at you, LLD.)
I was going to do split units at the same time, but that's going to be trickier,
because it looks like for v5, the split compile and type units should all coexist
in the same section. So, leaving split type-units for another day.
Seems odd to have a function for "DwarfTypesSection" return the debug_info section. I'd tend towards having MCObjectFileInfo be more literal than this - getDwarfTypesSection(Hash) and getDwarfInfoSection(Hash), etc.
(a very casual/far-off motivation, is that it'd be great if, eventually, debug_info came to allowing various different entities in comdat'd sections - not just types - this is what some of us have thrown around as "bag of DWARF")