[lld] Keep full library path in DT_NEEDED.
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>
Wed, 12 Apr 2017 00:13:48 +0000 (00:13 +0000)
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>
Wed, 12 Apr 2017 00:13:48 +0000 (00:13 +0000)
commita76349bffe3ad01cfffbc14f8077ab2df65314aa
treea5e7edbae0cd51bb0363de7cde64d2665162c679
parent13c8daf57ad364852abdfaca369f05459eb01b7f
[lld] Keep full library path in DT_NEEDED.

Fixes PR32572.

When
    (a) a library has no soname
and (b) library is given on the command line with path (and not through -L/-l flags)
DT_NEEDED entry for such library keeps the path as given.

This behavior is consistent with gold and bfd, and is used in compiler-rt test suite.

This is a second attempt after r300007 got reverted. This time relro-omagic test is
changed in a way to avoid hardcoding the path to the test directory in the objdump'd
binary.

llvm-svn: 300011
lld/ELF/Driver.cpp
lld/ELF/Driver.h
lld/ELF/InputFiles.cpp
lld/ELF/InputFiles.h
lld/ELF/ScriptParser.cpp
lld/test/ELF/as-needed-no-reloc.s
lld/test/ELF/no-soname.s [new file with mode: 0644]
lld/test/ELF/relro-omagic.s