diff options
author | Facundo DomÃnguez <facundo.dominguez@tweag.io> | 2014-08-18 21:50:15 -0500 |
---|---|---|
committer | Austin Seipp <austin@well-typed.com> | 2014-08-18 23:26:19 -0500 |
commit | 0138110125400581dc9872dedfcb21bd50b372f1 (patch) | |
tree | 1e23f36001b34a1a4d1e0aabf7999bbe31049662 /compiler | |
parent | 9a708d38c4491dfdf7f97c03e3ff6d482cbdd66e (diff) | |
download | haskell-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.hs | 9 |
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 -------------------------------------------- |