diff options
Diffstat (limited to 'compiler/main/DriverPipeline.hs')
-rw-r--r-- | compiler/main/DriverPipeline.hs | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs index 8fc44ed81f..7c5bc90647 100644 --- a/compiler/main/DriverPipeline.hs +++ b/compiler/main/DriverPipeline.hs @@ -1917,11 +1917,22 @@ linkBinary' staticLink dflags o_files dep_packages = do -- on x86. ++ (if sLdSupportsCompactUnwind mySettings && not staticLink && - platformOS platform == OSDarwin && - platformArch platform `elem` [ArchX86, ArchX86_64] + (platformOS platform == OSDarwin || platformOS platform == OSiOS) && + case platformArch platform of + ArchX86 -> True + ArchX86_64 -> True + ArchARM {} -> True + _ -> False then ["-Wl,-no_compact_unwind"] else []) + -- '-no_pie' + -- iOS uses 'dynamic-no-pic', so we must pass this to ld to suppress a warning; see #7722 + ++ (if platformOS platform == OSiOS && + not staticLink + then ["-Wl,-no_pie"] + else []) + -- '-Wl,-read_only_relocs,suppress' -- ld gives loads of warnings like: -- ld: warning: text reloc in _base_GHCziArr_unsafeArray_info to _base_GHCziArr_unsafeArray_closure |