Commit 58e68b37 authored by dobenour's avatar dobenour Committed by Ben Gamari
Browse files

Enable subsections via symbols on iOS

Test Plan: GHC CI

Reviewers: austin, bgamari

Reviewed By: bgamari

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D2915

GHC Trac Issues: #11040, #13049
parent 8a76d32e
......@@ -1794,7 +1794,7 @@ linkBinary' staticLink dflags o_files dep_packages = do
in ["-L" ++ l] ++ ["-Wl,-rpath", "-Wl," ++ libpath]
| otherwise = ["-L" ++ l]
let dead_strip = if osMachOTarget (platformOS platform)
let dead_strip = if osSubsectionsViaSymbols (platformOS platform)
then ["-Wl,-dead_strip"]
else []
let lib_paths = libraryPaths dflags
......
......@@ -137,7 +137,7 @@ import Maybes
import DynFlags
import ErrUtils
import Platform ( platformOS, OS(OSDarwin) )
import Platform ( platformOS, osSubsectionsViaSymbols )
import Outputable
import NameEnv
......@@ -1394,7 +1394,7 @@ doCodeGen hsc_env this_mod data_tycons
let
pipeline_stream
| gopt Opt_SplitObjs dflags || gopt Opt_SplitSections dflags ||
platformOS (targetPlatform dflags) == OSDarwin
osSubsectionsViaSymbols (platformOS (targetPlatform dflags))
= {-# SCC "cmmPipeline" #-}
let run_pipeline us cmmgroup = do
let (topSRT', us') = initUs us emptySRT
......
......@@ -14,6 +14,7 @@ module Platform (
isARM,
osElfTarget,
osMachOTarget,
osSubsectionsViaSymbols,
platformUsesFrameworks,
platformBinariesAreStaticLibs,
)
......@@ -161,6 +162,11 @@ osBinariesAreStaticLibs :: OS -> Bool
osBinariesAreStaticLibs OSiOS = True
osBinariesAreStaticLibs _ = False
osSubsectionsViaSymbols :: OS -> Bool
osSubsectionsViaSymbols OSDarwin = True
osSubsectionsViaSymbols OSiOS = True
osSubsectionsViaSymbols _ = False
platformBinariesAreStaticLibs :: Platform -> Bool
platformBinariesAreStaticLibs = osBinariesAreStaticLibs . platformOS
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment