[ELF] Dont include all targets

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@200165 91177308-0d34-0410-b5e6-96231b3b80d8
[ELF] Rename File.h to ELFFile.h to avoid confusion.

No change in functionality.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@200166 91177308-0d34-0410-b5e6-96231b3b80d8
[ELF] Separate implementation from the class declaration.

ELFFile would be a class that rest of the targets would derive from.
To keep the implementation clean, separate the implementation from
rest of the Header file.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@200168 91177308-0d34-0410-b5e6-96231b3b80d8
[ELF] Unify interfaces between DynamicFile/ELFFile.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@200172 91177308-0d34-0410-b5e6-96231b3b80d8
[ELF] Separate ELFReader classes for subclassing

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@200173 91177308-0d34-0410-b5e6-96231b3b80d8
[ELF] Add Target specific Readers.

No change in functionality.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@200175 91177308-0d34-0410-b5e6-96231b3b80d8
[ELF] Create Target specific Writers.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@200176 91177308-0d34-0410-b5e6-96231b3b80d8
[ELF] Make changes to all the targets supported currently

X86_64,X86,PPC,Hexagon,Mips

No change in functionality.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@200177 91177308-0d34-0410-b5e6-96231b3b80d8
[ELF] Fix comments.

The comments in the files that described the file name as part of each file
header ran over 80 columns, which clang-format split over multiple lines.

This commit fixes to make them appear properly.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@200181 91177308-0d34-0410-b5e6-96231b3b80d8
Fix trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@200182 91177308-0d34-0410-b5e6-96231b3b80d8
[PECOFF] Set a proper architecture type to references.

Relocations for x64 object files should have reference type of
KindArch::x86_64.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@200183 91177308-0d34-0410-b5e6-96231b3b80d8
[PECOFF] Fix PE/COFF optional header size for PE32+.

The optional header for PE32+ is a bit larger than PE32 because some of
its fields are extended to 8 bytes.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@200184 91177308-0d34-0410-b5e6-96231b3b80d8
[PECOFF] Implement relocations for x86-64.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@200185 91177308-0d34-0410-b5e6-96231b3b80d8