diff --git a/include/llvm/Linker.h b/include/llvm/Linker.h index 60227a724d8..d1854cc6296 100644 --- a/include/llvm/Linker.h +++ b/include/llvm/Linker.h @@ -62,7 +62,11 @@ class Linker { /// Construct the Linker with an empty module which will be given the /// name \p progname. \p progname will also be used for error messages. /// @brief Construct with empty module - Linker(const std::string& progname, unsigned Flags = 0 ); + Linker( + const std::string& progname, ///< name of tool running linker + const std::string& modulename, ///< name of linker's end-result module + unsigned Flags = 0 ///< ControlFlags (one or more |'d together) + ); /// Construct the Linker with a previously defined module, \p aModule. Use /// \p progname for the name of the program in error messages. diff --git a/lib/Linker/Linker.cpp b/lib/Linker/Linker.cpp index c72f1b5aca8..9ffe7a121e0 100644 --- a/lib/Linker/Linker.cpp +++ b/lib/Linker/Linker.cpp @@ -19,14 +19,14 @@ using namespace llvm; -Linker::Linker(const std::string& progname, unsigned flags) +Linker::Linker(const std::string& progname, const std::string& modname, unsigned flags) : Composite(0) , LibPaths() , Flags(flags) , Error() , ProgramName(progname) { - Composite = new Module(progname); + Composite = new Module(modname); } Linker::Linker(const std::string& progname, Module* aModule, unsigned flags) diff --git a/tools/gccld/gccld.cpp b/tools/gccld/gccld.cpp index bad4a9cf06b..644ee7997aa 100644 --- a/tools/gccld/gccld.cpp +++ b/tools/gccld/gccld.cpp @@ -107,6 +107,10 @@ namespace { CO5("eh-frame-hdr", cl::Hidden, cl::desc("Compatibility option: ignored")); cl::opt CO6("h", cl::Hidden, cl::desc("Compatibility option: ignored")); + cl::opt + CO7("start-group", cl::Hidden, cl::desc("Compatibility option: ignored")); + cl::opt + CO8("end-group", cl::Hidden, cl::desc("Compatibility option: ignored")); cl::alias A0("s", cl::desc("Alias for --strip-all"), cl::aliasopt(Strip)); @@ -211,7 +215,7 @@ int main(int argc, char **argv, char **envp ) { int exitCode = 0; std::string ProgName = sys::Path(argv[0]).getBasename(); - Linker TheLinker(ProgName, Verbose); + Linker TheLinker(ProgName, OutputFilename, Verbose); try { // Remove any consecutive duplicates of the same library... diff --git a/tools/llvm-ld/llvm-ld.cpp b/tools/llvm-ld/llvm-ld.cpp index 65a220a3acb..03f1c45cb4f 100644 --- a/tools/llvm-ld/llvm-ld.cpp +++ b/tools/llvm-ld/llvm-ld.cpp @@ -400,7 +400,7 @@ int main(int argc, char **argv, char **envp) { try { // Initial global variable above for convenience printing of program name. progname = sys::Path(argv[0]).getBasename(); - Linker TheLinker(progname, Verbose); + Linker TheLinker(progname, OutputFilename, Verbose); // Set up the library paths for the Linker TheLinker.addPaths(LibPaths);