[PECOFF] Support a new type of weak symbol.
authorRui Ueyama <ruiu@google.com>
Fri, 7 Mar 2014 23:05:10 +0000 (23:05 +0000)
committerRui Ueyama <ruiu@google.com>
Fri, 7 Mar 2014 23:05:10 +0000 (23:05 +0000)
commitc79dd2f80ac78b262944a55a6e8eaee3c62ea7a5
treee19af8d81e42e51058a87d8d549e6473686f77cf
parent1d6d1c88bd48f8bdcbc12c401d03ec8af65350ec
[PECOFF] Support a new type of weak symbol.

Summary:
COMDAT_SELECT_SAME_SIZE is a COMDAT type that I presume exist only in COFF.
The semantics of the type is that linker should merge such COMDAT sections if
their sizes are the same. Otherwise it's an error.

Reviewers: Bigcheese, shankarke, kledzik

CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D2996

llvm-svn: 203308
lld/include/lld/Core/DefinedAtom.h
lld/lib/Core/SymbolTable.cpp
lld/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
lld/test/pecoff/Inputs/merge-same-size1.obj.yaml [new file with mode: 0644]
lld/test/pecoff/Inputs/merge-same-size2.obj.yaml [new file with mode: 0644]
lld/test/pecoff/merge-same-size.test [new file with mode: 0644]