From dabaa46c66dd20a7f10ac8f7813f1c6d532e4195 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 16 Apr 2003 21:43:22 +0000 Subject: [PATCH] Allow the user to disable the internalize pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5792 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/gccld/gccld.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/tools/gccld/gccld.cpp b/tools/gccld/gccld.cpp index 5d1a35f8a88..b8b35879386 100644 --- a/tools/gccld/gccld.cpp +++ b/tools/gccld/gccld.cpp @@ -52,6 +52,10 @@ Libraries("l", cl::desc("Specify libraries to link to"), cl::Prefix, static cl::opt Strip("s", cl::desc("Strip symbol info from executable")); +static cl::opt +NoInternalize("disable-internalize", + cl::desc("Do not mark all symbols as internal")); + // FileExists - Return true if the specified string is an openable file... static inline bool FileExists(const std::string &FN) { @@ -153,10 +157,13 @@ int main(int argc, char **argv) { // Passes.add(createFunctionResolvingPass()); - // Now that composite has been compiled, scan through the module, looking for - // a main function. If main is defined, mark all other functions internal. - // - Passes.add(createInternalizePass()); + if (!NoInternalize) { + // Now that composite has been compiled, scan through the module, looking + // for a main function. If main is defined, mark all other functions + // internal. + // + Passes.add(createInternalizePass()); + } // Now that we have optimized the program, discard unreachable functions... //