mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-29 10:32:47 +00:00
Add support for the gnu ld -s (strip) option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2157 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1907aba9f4
commit
2b59837f02
@ -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.
|
||||
//
|
||||
|
Loading…
Reference in New Issue
Block a user