summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorFacundo Domínguez <facundo.dominguez@tweag.io>2014-08-18 21:50:15 -0500
committerAustin Seipp <austin@well-typed.com>2014-08-18 23:26:19 -0500
commit0138110125400581dc9872dedfcb21bd50b372f1 (patch)
tree1e23f36001b34a1a4d1e0aabf7999bbe31049662 /compiler
parent9a708d38c4491dfdf7f97c03e3ff6d482cbdd66e (diff)
downloadhaskell-0138110125400581dc9872dedfcb21bd50b372f1.tar.gz
Implement -rdynamic in Linux and Windows/MinGW32.
Summary: In Linux, it is a synonym for -optl -rdynamic. In Windows, it is a synonym for -optl -export-all-symbols. Test Plan: validate Reviewers: simonmar, austin Reviewed By: simonmar, austin Subscribers: mboes, phaskell, simonmar, relrod, ezyang, carter Differential Revision: https://phabricator.haskell.org/D102 GHC Trac Issues: #9381
Diffstat (limited to 'compiler')
-rw-r--r--compiler/main/DynFlags.hs9
1 files changed, 8 insertions, 1 deletions
diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs
index 74bd1397b8..f00ee469a6 100644
--- a/compiler/main/DynFlags.hs
+++ b/compiler/main/DynFlags.hs
@@ -2175,8 +2175,15 @@ dynamic_flags = [
----- Linker --------------------------------------------------------
, Flag "static" (NoArg removeWayDyn)
, Flag "dynamic" (NoArg (addWay WayDyn))
+ , Flag "rdynamic" $ noArg $
+#ifdef linux_HOST_OS
+ addOptl "-rdynamic"
+#elif defined (mingw32_HOST_OS)
+ addOptl "-export-all-symbols"
+#else
-- ignored for compat w/ gcc:
- , Flag "rdynamic" (NoArg (return ()))
+ id
+#endif
, Flag "relative-dynlib-paths" (NoArg (setGeneralFlag Opt_RelativeDynlibPaths))
------- Specific phases --------------------------------------------