summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Knop <william.knop.nospam@gmail.com>2011-03-09 20:19:11 +0000
committerWilliam Knop <william.knop.nospam@gmail.com>2011-03-09 20:19:11 +0000
commit63919ea06f9d4c51ca5119070336b1f9722c9852 (patch)
treed48e6d6ae38281b6f6bd5ac49507885644f5b41d
parent8a57fce6080eb641198d85cce9333b3ea7271afc (diff)
downloadhaskell-63919ea06f9d4c51ca5119070336b1f9722c9852.tar.gz
Don't use read_only_relocs on darwin x86-64; fixes #4984
-rw-r--r--compiler/main/DriverPipeline.hs5
-rw-r--r--rts/package.conf.in2
2 files changed, 5 insertions, 2 deletions
diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs
index 97ee683c1c..9b3eb6a8eb 100644
--- a/compiler/main/DriverPipeline.hs
+++ b/compiler/main/DriverPipeline.hs
@@ -1738,7 +1738,10 @@ linkDynLib dflags o_files dep_packages = do
md_c_flags
++ o_files
++ [ "-undefined", "dynamic_lookup", "-single_module",
- "-Wl,-read_only_relocs,suppress", "-install_name", instName ]
+#if !defined(x86_64_TARGET_ARCH)
+ "-Wl,-read_only_relocs,suppress",
+#endif
+ "-install_name", instName ]
++ extra_ld_inputs
++ lib_path_opts
++ extra_ld_opts
diff --git a/rts/package.conf.in b/rts/package.conf.in
index 0cc63133fd..c60bf8759a 100644
--- a/rts/package.conf.in
+++ b/rts/package.conf.in
@@ -146,7 +146,7 @@ ld-options:
, "-Wl,-search_paths_first"
#endif
-#ifdef darwin_HOST_OS
+#if defined(darwin_HOST_OS) && !defined(x86_64_HOST_ARCH)
, "-read_only_relocs", "warning"
#endif