Changes in directory llvm/tools/gccld:
GenerateCode.cpp updated: 1.55 -> 1.56 gccld.cpp updated: 1.106 -> 1.107 gccld.h updated: 1.17 -> 1.18 --- Log message: Implement PR679: http://llvm.cs.uiuc.edu/PR679 : * Changed the -rpath option from cl::opt to cl::list * Changed the interface to GenerateNative to take a std::vector<std::string> instead of just a std::string * Changed GenerateNative to generate multiple -Wl,-rpath, options to be passed to gcc. --- Diffs of the changes: (+15 -7) GenerateCode.cpp | 13 ++++++++----- gccld.cpp | 7 ++++++- gccld.h | 2 +- 3 files changed, 15 insertions(+), 7 deletions(-) Index: llvm/tools/gccld/GenerateCode.cpp diff -u llvm/tools/gccld/GenerateCode.cpp:1.55 llvm/tools/gccld/GenerateCode.cpp:1.56 --- llvm/tools/gccld/GenerateCode.cpp:1.55 Thu Nov 3 01:17:51 2005 +++ llvm/tools/gccld/GenerateCode.cpp Wed Dec 21 19:50:56 2005 @@ -352,7 +352,7 @@ const sys::Path &gcc, char ** const envp, bool Shared, bool ExportAllAsDynamic, - const std::string &RPath, + const std::vector<std::string> &RPaths, const std::string &SOName, bool Verbose) { // Remove these environment variables from the environment of the @@ -394,10 +394,13 @@ if (Shared) args.push_back("-shared"); if (ExportAllAsDynamic) args.push_back("-export-dynamic"); - if (!RPath.empty()) { - std::string rp = "-Wl,-rpath," + RPath; - StringsToDelete.push_back(strdup(rp.c_str())); - args.push_back(StringsToDelete.back()); + if (!RPaths.empty()) { + for (std::vector<std::string>::const_iterator I = RPaths.begin(), + E = RPaths.end(); I != E; I++) { + std::string rp = "-Wl,-rpath," + *I; + StringsToDelete.push_back(strdup(rp.c_str())); + args.push_back(StringsToDelete.back()); + } } if (!SOName.empty()) { std::string so = "-Wl,-soname," + SOName; Index: llvm/tools/gccld/gccld.cpp diff -u llvm/tools/gccld/gccld.cpp:1.106 llvm/tools/gccld/gccld.cpp:1.107 --- llvm/tools/gccld/gccld.cpp:1.106 Wed Dec 14 13:08:51 2005 +++ llvm/tools/gccld/gccld.cpp Wed Dec 21 19:50:56 2005 @@ -88,7 +88,7 @@ SaveTemps("save-temps", cl::desc("Do not delete temporary files")); - cl::opt<std::string> + cl::list<std::string> RPath("rpath", cl::desc("Set runtime shared library search path (requires -native or" " -native-cbe)"), @@ -107,6 +107,11 @@ CO5("eh-frame-hdr", cl::Hidden, cl::desc("Compatibility option: ignored")); cl::opt<std::string> CO6("h", cl::Hidden, cl::desc("Compatibility option: ignored")); + cl::opt<bool> + CO7("start-group", cl::Hidden, cl::desc("Compatibility option: ignored")); + cl::opt<bool> + CO8("end-group", cl::Hidden, cl::desc("Compatibility option: ignored")); + cl::alias A0("s", cl::desc("Alias for --strip-all"), cl::aliasopt(Strip)); cl::alias A1("S", cl::desc("Alias for --strip-debug"), Index: llvm/tools/gccld/gccld.h diff -u llvm/tools/gccld/gccld.h:1.17 llvm/tools/gccld/gccld.h:1.18 --- llvm/tools/gccld/gccld.h:1.17 Tue Aug 2 17:07:38 2005 +++ llvm/tools/gccld/gccld.h Wed Dec 21 19:50:56 2005 @@ -46,7 +46,7 @@ char ** const envp, bool Shared, bool ExportAllAsDynamic, - const std::string &RPath, + const std::vector<std::string> &RPath, const std::string &SOName, bool Verbose=false); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits