aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/lto/lto.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/tools/lto/lto.cpp b/tools/lto/lto.cpp
index c7a363768b..ae7f333188 100644
--- a/tools/lto/lto.cpp
+++ b/tools/lto/lto.cpp
@@ -292,7 +292,10 @@ LTO::optimize(Module *M, std::ostream &Out,
// If the -s command line option was specified, strip the symbols out of the
// resulting program to make it smaller. -s is a GLD option that we are
// supporting.
- Passes.add(createStripSymbolsPass());
+ if(!ExceptionHandling)
+ // FIXME : This causes multiple nameless _.eh symbols on
+ // darwin when EH is ON.
+ Passes.add(createStripSymbolsPass());
// Propagate constants at call sites into the functions they call.
Passes.add(createIPConstantPropagationPass());