I suggest this change, it should open road for fixing PR31224.
This patch introduces InitFiniSection which holds
.init_array/.fini_array sections inside.
Idea is next: we can do the same for .ctors/.dtors in another patch.
Synthetic section for .ctors/.dtors should know how to
change sorting rules on fly depending on output section name.
Then it should be possible to mix .init_array/.ctors and .fini_array/.dtors,
like bfd/gold do easily.