When jumptable encoding does not match target code encoding (arm vs
thumb), a veneer is inserted by the linker. We can not avoid this
in all cases, because entries within one jumptable must have the same
encoding, but we can make it less common by selecting the jumptable
encoding to match the majority of its targets.
This change only covers FullLTO, and not ThinLTO.
It seems arbitrary for the module architecture to be the tie breaker. With full LTO I think it will just be the same architecture as the first (or maybe last?) input file. I'd remove this part.