When we enable -fsplit-dwarf-inlining we end up with two entries
in .debug_aranges for each CU. Because it processes Skeleton CU
inline information and DWO CU.
Furthermore address calculations were incorrect because we were processing sections in Skeleton CU.
This boils down to:
I think?
DD->useSplitDwarf() && Skeleton) || !DD->useSplitDwarf();
->
(D->useSplitDwarf() || !DD->useSplitDwarf()) && (Skeleton || !D->useSplitDwarf())
->
true && (Skeleton || !D->useSplitDwarf())
->
Skeleton || !D->useSplitDwarf()