Creating release candidate rc1 from release_400 branch

llvm-svn: 292399
llvm-svn: 292397
llvm-svn: 292395
llvm-svn: 292393
llvm-svn: 292391
llvm-svn: 292389
llvm-svn: 292387
llvm-svn: 292385
llvm-svn: 292383
llvm-svn: 292379
llvm-svn: 292377
Port r292146.

Give priority to linker scripts over preemption.

LLD exports symbols that are also present in used shared libraries to
make sure they are preempted at runtime. That is a reasonable default,
but we must allow for it to be overwritten with linker script. If we
don't, libraries that expect to be able to hide a c++ delete operator
will fail.

This should fix the firebird build.

llvm-svn: 292370
4 files changed