[lld] r189883 - Recognize -rpath-link option and add arguments to ELFLinkingContext.
Joerg Sonnenberger
joerg at bec.de
Tue Sep 3 16:28:51 PDT 2013
Author: joerg
Date: Tue Sep 3 18:28:51 2013
New Revision: 189883
URL: http://llvm.org/viewvc/llvm-project?rev=189883&view=rev
Log:
Recognize -rpath-link option and add arguments to ELFLinkingContext.
Modified:
lld/trunk/include/lld/ReaderWriter/ELFLinkingContext.h
lld/trunk/lib/Driver/GnuLdDriver.cpp
lld/trunk/lib/Driver/LDOptions.td
Modified: lld/trunk/include/lld/ReaderWriter/ELFLinkingContext.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/include/lld/ReaderWriter/ELFLinkingContext.h?rev=189883&r1=189882&r2=189883&view=diff
==============================================================================
--- lld/trunk/include/lld/ReaderWriter/ELFLinkingContext.h (original)
+++ lld/trunk/include/lld/ReaderWriter/ELFLinkingContext.h Tue Sep 3 18:28:51 2013
@@ -189,6 +189,14 @@ public:
return _rpathList;
}
+ void addRpathLink(StringRef path) {
+ _rpathLinkList.push_back(path);
+ }
+
+ range<const StringRef *> getRpathLinkList() const {
+ return _rpathLinkList;
+ }
+
private:
ELFLinkingContext() LLVM_DELETED_FUNCTION;
@@ -223,6 +231,7 @@ protected:
StringRefVector _finiFunctions;
StringRef _sysrootPath;
StringRefVector _rpathList;
+ StringRefVector _rpathLinkList;
};
} // end namespace lld
Modified: lld/trunk/lib/Driver/GnuLdDriver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/GnuLdDriver.cpp?rev=189883&r1=189882&r2=189883&view=diff
==============================================================================
--- lld/trunk/lib/Driver/GnuLdDriver.cpp (original)
+++ lld/trunk/lib/Driver/GnuLdDriver.cpp Tue Sep 3 18:28:51 2013
@@ -317,6 +317,14 @@ bool GnuLdDriver::parse(int argc, const
break;
}
+ case OPT_rpath_link: {
+ SmallVector<StringRef, 2> rpaths;
+ StringRef(inputArg->getValue()).split(rpaths, ":");
+ for (auto path : rpaths)
+ ctx->addRpathLink(path);
+ break;
+ }
+
case OPT_sysroot:
ctx->setSysroot(inputArg->getValue());
break;
Modified: lld/trunk/lib/Driver/LDOptions.td
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/LDOptions.td?rev=189883&r1=189882&r2=189883&view=diff
==============================================================================
--- lld/trunk/lib/Driver/LDOptions.td (original)
+++ lld/trunk/lib/Driver/LDOptions.td Tue Sep 3 18:28:51 2013
@@ -44,6 +44,7 @@ def m : Separate<["-"], "m">;
def z : Separate<["-"], "z">;
def t : Flag<["-"], "t">;
def rpath : Separate<["-"], "rpath">;
+def rpath_link : Separate<["-"], "rpath-link">;
def soname : Separate<["-"], "soname">;
def static : Flag<["-"], "static">;
More information about the llvm-commits
mailing list