Avoid code duplication when creating dynamic relocations.
authorRafael Espindola <rafael.espindola@gmail.com>
Thu, 4 Feb 2016 21:33:05 +0000 (21:33 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Thu, 4 Feb 2016 21:33:05 +0000 (21:33 +0000)
commitde9857e3c16cb4e8f241b72066b8a8853e441af5
tree55b7924dad8e7b194f66b79049008600940186f2
parent35706ad6bbffef75fc74dcb4b4022cc3b3abaa6d
Avoid code duplication when creating dynamic relocations.

Another case where we currently have almost duplicated code is the
creation of dynamic relocations. First to decide if we need one, then to
decide what to write.

This patch fixes it by passing more information from the relocation scan
to the section writing code. This is the same idea used for r258723.

I actually think it should be possible to simplify this further by
reordering things a bit in the writer. For example, we should be able to
represent almost every position in the file with an OutputSeciton and
offset. When writing it out we then just need to add the offset to the
OutputSection VA.

llvm-svn: 259829
lld/ELF/OutputSections.cpp
lld/ELF/OutputSections.h
lld/ELF/Writer.cpp