diff options
author | Manuel M T Chakravarty <chak@cse.unsw.edu.au> | 2011-07-27 23:05:01 +1000 |
---|---|---|
committer | Manuel M T Chakravarty <chak@cse.unsw.edu.au> | 2011-07-27 23:09:10 +1000 |
commit | 30ccc9f39dd2cf1ad14e6116778aa1fd94526c19 (patch) | |
tree | fc10ae8aa1fd4c6cdd1183227a550cee5c166920 /compiler/main | |
parent | adc3fb884bc53d229faf9f599fb3f890cadeccb1 (diff) | |
download | haskell-30ccc9f39dd2cf1ad14e6116778aa1fd94526c19.tar.gz |
On OS X x86_64, use "-Wl,-no_pie" and "-Wl,-no_compact_unwind" to avoid linker warnings
- "-Wl,-no_pie" can be removed once GMP gets updated
Diffstat (limited to 'compiler/main')
-rw-r--r-- | compiler/main/DriverPipeline.hs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs index b328c3fb4d..b1f50acfb8 100644 --- a/compiler/main/DriverPipeline.hs +++ b/compiler/main/DriverPipeline.hs @@ -1666,6 +1666,17 @@ linkBinary dflags o_files dep_packages = do then ["-Wl,--enable-auto-import"] else []) + -- '-no_pie' - On OS X, the linker otherwise complains that it cannot build + -- position independent code due to some offensive code in GMP. + -- '-no_compact_unwind' + -- - C++/Objective-C exceptions cannot use optimised stack + -- unwinding code (the optimised form is the default in Xcode 4 on + -- x86_64). + ++ (if platformOS (targetPlatform dflags) == OSDarwin && + platformArch (targetPlatform dflags) == ArchX86_64 + then ["-Wl,-no_pie", "-Wl,-no_compact_unwind"] + else []) + ++ o_files ++ extra_ld_inputs ++ lib_path_opts |