diff options
| author | Chris Lattner <sabre@nondot.org> | 2002-04-08 05:18:12 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2002-04-08 05:18:12 +0000 |
| commit | 2b33d75537c37514c96832634cfc0d8b058cb68d (patch) | |
| tree | 22665cca9da75362ad7ed0072ce839cd7869f270 /llvm/tools | |
| parent | 6e6f5be53d4b4f82879bba4baf8c2e2d2ff4926a (diff) | |
| download | bcm5719-llvm-2b33d75537c37514c96832634cfc0d8b058cb68d.tar.gz bcm5719-llvm-2b33d75537c37514c96832634cfc0d8b058cb68d.zip | |
Add support for the gnu ld -s (strip) option
llvm-svn: 2157
Diffstat (limited to 'llvm/tools')
| -rw-r--r-- | llvm/tools/gccld/gccld.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/llvm/tools/gccld/gccld.cpp b/llvm/tools/gccld/gccld.cpp index 4d369cdeba5..66d1afb4f30 100644 --- a/llvm/tools/gccld/gccld.cpp +++ b/llvm/tools/gccld/gccld.cpp @@ -19,6 +19,7 @@ #include "llvm/PassManager.h" #include "llvm/Bytecode/Reader.h" #include "llvm/Bytecode/WriteBytecodePass.h" +#include "llvm/Transforms/SymbolStripping.h" #include "llvm/Transforms/CleanupGCCOutput.h" #include "llvm/Transforms/ConstantMerge.h" #include "llvm/Transforms/IPO/GlobalDCE.h" @@ -36,7 +37,7 @@ cl::String OutputFilename("o", "Override output filename", cl::NoFlags,"a.out"); cl::Flag Verbose ("v", "Print information about actions taken"); cl::StringList LibPaths ("L", "Specify a library search path", cl::ZeroOrMore); cl::StringList Libraries ("l", "Specify libraries to link to", cl::ZeroOrMore); - +cl::Flag Strip ("s", "Strip symbol info from executable"); // FileExists - Return true if the specified string is an openable file... static inline bool FileExists(const std::string &FN) { @@ -136,6 +137,13 @@ int main(int argc, char **argv) { // Passes.add(createCleanupGCCOutputPass()); + // If the -s command line option was specified, strip the symbols out of the + // resulting program to make it smaller. -s is a GCC option that we are + // supporting. + // + if (Strip) + Passes.add(createSymbolStrippingPass()); + // Now that composite has been compiled, scan through the module, looking for // a main function. If main is defined, mark all other functions internal. // |

