diff options
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/tools/gccld/GenerateCode.cpp | 9 | ||||
| -rw-r--r-- | llvm/tools/gccld/gccld.cpp | 8 | ||||
| -rw-r--r-- | llvm/tools/gccld/gccld.h | 1 | 
3 files changed, 10 insertions, 8 deletions
diff --git a/llvm/tools/gccld/GenerateCode.cpp b/llvm/tools/gccld/GenerateCode.cpp index 56aaf7d5cfc..fa4a8fd3903 100644 --- a/llvm/tools/gccld/GenerateCode.cpp +++ b/llvm/tools/gccld/GenerateCode.cpp @@ -325,8 +325,7 @@ int llvm::GenerateAssembly(const std::string &OutputFilename,    return sys::Program::ExecuteAndWait(llc, &args[0]);  } -/// GenerateAssembly - generates a native assembly language source file from the -/// specified bytecode file. +/// GenerateCFile - generates a C source file from the specified bytecode file.  int llvm::GenerateCFile(const std::string &OutputFile,                          const std::string &InputFile,                          const sys::Path &llc, @@ -344,8 +343,8 @@ int llvm::GenerateCFile(const std::string &OutputFile,    return sys::Program::ExecuteAndWait(llc, &args[0]);  } -/// GenerateNative - generates a native assembly language source file from the -/// specified assembly source file. +/// GenerateNative - generates a native executable file from the specified +/// assembly source file.  ///  /// Inputs:  ///  InputFilename  - The name of the output bytecode file. @@ -365,6 +364,7 @@ int llvm::GenerateNative(const std::string &OutputFilename,                           const std::vector<std::string> &Libraries,                           const sys::Path &gcc, char ** const envp,                           bool Shared, +                         bool ExportAllAsDynamic,                           const std::string &RPath,                           const std::string &SOName,                           bool Verbose) { @@ -400,6 +400,7 @@ int llvm::GenerateNative(const std::string &OutputFilename,    args.push_back(InputFilename.c_str());    if (Shared) args.push_back("-shared"); +  if (ExportAllAsDynamic) args.push_back("-export-dynamic");    if (!RPath.empty()) {      std::string rp = "-Wl,-rpath," + RPath;      args.push_back(rp.c_str()); diff --git a/llvm/tools/gccld/gccld.cpp b/llvm/tools/gccld/gccld.cpp index 2ae13aa7d4e..5c0fbb90d85 100644 --- a/llvm/tools/gccld/gccld.cpp +++ b/llvm/tools/gccld/gccld.cpp @@ -308,8 +308,8 @@ int main(int argc, char **argv, char **envp ) {                         Verbose);        if (Verbose) std::cout << "Generating Native Code\n";        GenerateNative(OutputFilename, AssemblyFile.toString(), -                     LibPaths, Libraries, gcc, envp, LinkAsLibrary, RPath, -                     SOName, Verbose); +                     LibPaths, Libraries, gcc, envp, LinkAsLibrary, +                     NoInternalize, RPath, SOName, Verbose);        if (!SaveTemps) {          // Remove the assembly language file. @@ -340,8 +340,8 @@ int main(int argc, char **argv, char **envp ) {        GenerateCFile(CFile.toString(), RealBytecodeOutput, llc, Verbose);        if (Verbose) std::cout << "Generating Native Code\n";        GenerateNative(OutputFilename, CFile.toString(), -                     LibPaths, Libraries, gcc, envp, LinkAsLibrary, RPath, -                     SOName, Verbose); +                     LibPaths, Libraries, gcc, envp, LinkAsLibrary, +                     NoInternalize, RPath, SOName, Verbose);        if (!SaveTemps) {          // Remove the assembly language file. diff --git a/llvm/tools/gccld/gccld.h b/llvm/tools/gccld/gccld.h index 5b7bdf1c477..b1649f07476 100644 --- a/llvm/tools/gccld/gccld.h +++ b/llvm/tools/gccld/gccld.h @@ -45,6 +45,7 @@ GenerateNative (const std::string &OutputFilename,                  const sys::Path &gcc,                  char ** const envp,                  bool Shared, +                bool ExportAllAsDynamic,                  const std::string &RPath,                  const std::string &SOName,                  bool Verbose=false);  | 

