Start a TODO list for the ELF backend.


git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@189890 91177308-0d34-0410-b5e6-96231b3b80d8
[lld][Driver] remove return after llvm_unreachable

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@189891 91177308-0d34-0410-b5e6-96231b3b80d8
Rename *Options.td -> <flavor>Options.td.

Before this patch, name of driver implementation is not consistent with its
option table file. Specifically, LDOptions has a different prefix than
GnuLdDriver.

This patch renames option files, so that the option files have the same prefix
as the corresponding driver files.

Differential Revision: http://llvm-reviews.chandlerc.com/D1591

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@189895 91177308-0d34-0410-b5e6-96231b3b80d8
[lld][ELF] Emit note sections

Emit note sections if the input contains a note section.

Also emit a note segment.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@189896 91177308-0d34-0410-b5e6-96231b3b80d8
[PECOFF] Ignore options starting with -?

The compiler is allowed to add a linker option starting with -?<name> to
.drectve section. If the linker can interpret -<name>, it's processed as if
there's no question mark there. If not, such option is silently ignored.

This is a COFF's feature to allow the compiler to emit new linker options
while keeping compatibility with older linkers.

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