This adds functionality for undefined atoms from dynamic libraries to be added
to the list of undefined atoms. 

The processing of undefined atoms from dynamic libraries is controlled by
use-shlib-undefines command line option. 

This patch also adds additional command line arguments to allow/disallow
unresolved symbols from shared libraries and mimics GNU ld behavior.



git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@179257 91177308-0d34-0410-b5e6-96231b3b80d8
[test] fix failing test, the test was not accounting for - in the path

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@179260 91177308-0d34-0410-b5e6-96231b3b80d8
[test] missing underscore while checking for test output

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@179264 91177308-0d34-0410-b5e6-96231b3b80d8
Replace elf-dump with llvm-readobj in lld tests

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@179364 91177308-0d34-0410-b5e6-96231b3b80d8
[Core] Add parallel infrastructure to lld.

Uses ConcRT and PPL on Windows.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@179397 91177308-0d34-0410-b5e6-96231b3b80d8
Moved llvm_unreachable out of switch blocks to avoid the "control reaches end of non-void function" warning.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@179590 91177308-0d34-0410-b5e6-96231b3b80d8
Distinguish between unsupported and unrecognised flavours.

Suggested by Nick Kledzik in reference to r179590.


git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@179617 91177308-0d34-0410-b5e6-96231b3b80d8
[Core] Allow weak symbols in shared library when linking.

Patch by Rui Ueyama.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@180209 91177308-0d34-0410-b5e6-96231b3b80d8
[lld][LayoutPass] initialize the number of entries for the densehash (no functionality change)

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@180690 91177308-0d34-0410-b5e6-96231b3b80d8
[lld][ELF] (no testable functionality change) resize the number of entries in the string table for static linking

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@180691 91177308-0d34-0410-b5e6-96231b3b80d8
[lld][ELF] (no testable functionality change) resize the number of entries in the string table for static linking

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@180692 91177308-0d34-0410-b5e6-96231b3b80d8
[lld][ELF] continue on finding a section with no symbols, tests already present

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@180769 91177308-0d34-0410-b5e6-96231b3b80d8
[lld][ELF] reduce the number of symbols emitted in the symbol table

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@180872 91177308-0d34-0410-b5e6-96231b3b80d8
[lld][ELF] fix header comment typos

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@181188 91177308-0d34-0410-b5e6-96231b3b80d8
[lld]remove lld-core

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@181244 91177308-0d34-0410-b5e6-96231b3b80d8
[Core] Properly stop the ThreadPoolExecutor and use the ConcRT memory allocator.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@181279 91177308-0d34-0410-b5e6-96231b3b80d8
[ELF] Initialize readers and writers on creation.

This makes the target handler a constructor argument because the constructor of
OutputELFWriter relies on it being initialized.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@181280 91177308-0d34-0410-b5e6-96231b3b80d8
[lld][ELF] split ELF reader into multiple functions for readability (no change in functionality)

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@181288 91177308-0d34-0410-b5e6-96231b3b80d8
[lld][ELF] fix build failure

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@181325 91177308-0d34-0410-b5e6-96231b3b80d8
Use anonymous namespace for local classes.  Patch by Rui Ueyama

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