llvm-project/lld/lib/ReaderWriter/Native
Rui Ueyama e5416ec2d2 Add a fallback mechanism for undefined atom.
In COFF, an undefined symbol can have up to one alternative name. If a symbol
is resolved by its regular name, then it's linked normally. If a symbol is not
found in any input files, all references to the regular name are resolved using
the alternative name. If the alternative name is not found, it's a link error.
This mechanism is called "weak externals".

To support this mechanism, I added a new member function fallback() to undefined
atom. If an undefined atom has the second name, fallback() returns a new undefined
atom that should be used instead of the original one to resolve undefines. If it
does not have the second name, the function returns nullptr.

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

llvm-svn: 190625
2013-09-12 19:14:05 +00:00
..
CMakeLists.txt Add library dependencies to the lld cmake build. 2012-12-04 21:09:04 +00:00
NativeFileFormat.h Add a fallback mechanism for undefined atom. 2013-09-12 19:14:05 +00:00
ReaderNative.cpp Add a fallback mechanism for undefined atom. 2013-09-12 19:14:05 +00:00
WriterNative.cpp [lld] handle typeZeroFill atoms in ELF/Native/YAML 2013-08-23 20:03:21 +00:00