Avoid parsing large YAML file.

YAML files tend to be very large compared to binary formats because of ASCII
format inefficiency. And the YAML reader consumes an excessively large amount
of memory when parsing a large file. It's very slow too.

For example, I observed that 6MB executable became 120MB YAML file, and the
YAML reader consumed more than 1.5GB memory to load it. The YAML reader even
caused OOM error on 32 bit, causing the entire process to fail.

This patch sets the limit on the YAML file size the linker will try to load in
the RoundTripYAML test as a safeguard.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@194666 91177308-0d34-0410-b5e6-96231b3b80d8
[PECOFF] Make the import library file magic more accurate.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@194668 91177308-0d34-0410-b5e6-96231b3b80d8
Terminate if there are un-mergeable duplicate atoms.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@194671 91177308-0d34-0410-b5e6-96231b3b80d8
Use makeArrayRef() to make ArrayRef from C array.

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