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
[Driver] Parallelize reading initial object files.
[Passes] Parallelize the layout pass sort.
[ELF] Make addressOfAtom thread safe.

The expression _atomToAddressMap[atom] may modify _atomToAddressMap.
Instrument things.
Parallel write.
Parallelize reading archive members.