From 82d2d07ced7361d736285acdf48b0e28e04a7560 Mon Sep 17 00:00:00 2001 From: Hans Wennborg Date: Wed, 25 Nov 2015 00:58:31 +0000 Subject: [PATCH] Revert r254031: "ELF2: LinkerScript: lookup absolute paths under sysroot" The test fails on Windows: Command 34: "ld.lld" "-o" "D:\src\llvm\build.release\tools\lld\test\ELF\Output\l inkerscript.s.tmp2" "D:\src\llvm\build.release\tools\lld\test\ELF\Output\linkers cript.s.tmp.dir/xyz.script" "--sysroot=D:\src\llvm\build.release\tools\lld\test\ ELF\Output\linkerscript.s.tmp.dir" Command 34 Result: 1 Command 34 Output: Command 34 Stderr: Unable to find /libxyz.a llvm-svn: 254049 --- lld/ELF/LinkerScript.cpp | 14 +++----------- lld/test/ELF/linkerscript.s | 7 ------- 2 files changed, 3 insertions(+), 18 deletions(-) diff --git a/lld/ELF/LinkerScript.cpp b/lld/ELF/LinkerScript.cpp index e04785b5bac2..d222bb9ef0c3 100644 --- a/lld/ELF/LinkerScript.cpp +++ b/lld/ELF/LinkerScript.cpp @@ -28,8 +28,8 @@ using namespace lld::elf2; namespace { class LinkerScript { public: - LinkerScript(BumpPtrAllocator *A, StringRef S, bool B) - : Saver(*A), Tokens(tokenize(S)), IsUnderSysroot(B) {} + LinkerScript(BumpPtrAllocator *A, StringRef S) + : Saver(*A), Tokens(tokenize(S)) {} void run(); private: @@ -58,7 +58,6 @@ private: StringSaver Saver; std::vector Tokens; size_t Pos = 0; - bool IsUnderSysroot; }; } @@ -162,12 +161,6 @@ void LinkerScript::expect(StringRef Expect) { void LinkerScript::addFile(StringRef S) { if (sys::path::is_absolute(S)) { - if (IsUnderSysroot) { - SmallString<128> Path; - (Config->Sysroot + S).toStringRef(Path); - if (sys::fs::exists(Path)) - S = Saver.save(Path.str()); - } Driver->addFile(S); } else if (S.startswith("=")) { if (Config->Sysroot.empty()) @@ -308,6 +301,5 @@ static bool isUnderSysroot(StringRef Path) { // Entry point. The other functions or classes are private to this file. void lld::elf2::readLinkerScript(BumpPtrAllocator *A, MemoryBufferRef MB) { - StringRef Path = MB.getBufferIdentifier(); - LinkerScript(A, MB.getBuffer(), isUnderSysroot(Path)).run(); + LinkerScript(A, MB.getBuffer()).run(); } diff --git a/lld/test/ELF/linkerscript.s b/lld/test/ELF/linkerscript.s index bff285b97612..0e845b2bd79c 100644 --- a/lld/test/ELF/linkerscript.s +++ b/lld/test/ELF/linkerscript.s @@ -38,13 +38,6 @@ # RUN: ld.lld -o %t2 %t.script -L%t.dir # RUN: llvm-readobj %t2 > /dev/null -# RUN: echo "GROUP(" %t /libxyz.a ")" > %t.script -# RUN: echo "GROUP(" %t /libxyz.a ")" > %t.dir/xyz.script -# RUN: not ld.lld -o %t2 %t.script -# RUN: not ld.lld -o %t2 %t.script --sysroot=%t.dir -# RUN: ld.lld -o %t2 %t.dir/xyz.script --sysroot=%t.dir -# RUN: llvm-readobj %t2 > /dev/null - # RUN: echo "GROUP(" %t.script2 ")" > %t.script1 # RUN: echo "GROUP(" %t ")" > %t.script2 # RUN: ld.lld -o %t2 %t.script1