If .rela.iplt does not exist, we used to emit a corrupt symbol table
that contains two symbols, .rela_iplt_{start,end}, pointing to a
nonexisting section.
This patch fixes the issue by setting section index 0 to the symbols
if .rel.iplt section does not exist.
Will it be better to do in the same way we do for ElfSym::GlobalOffsetTable (lines 943-950 right above).
ElfSym::GlobalOffsetTable is created with Out::ElfHeader initially and then the appropriate section is set,
it seems to be a bit more convenient/simple way. So the code would be something like:
ElfSym::RelaIpltStart = addOptionalRegular(S, **Out::ElfHeader**, 0, STV_HIDDEN, STB_WEAK); ... ElfSym::RelaIpltEnd = addOptionalRegular(S, **Out::ElfHeader**, 0, STV_HIDDEN, STB_WEAK);if (ElfSym::RelaIpltStart && !In.RelaIplt->empty()) { ElfSym::RelaIpltStart->Section = In.RelaIplt; ElfSym::RelaIpltEnd->Section = In.RelaIplt; ElfSym::RelaIpltEnd->Value = In.RelaIplt->getSize(); }