[commit: ghc] master: always use -fPIC on OpenBSD/AMD64 platform (d03bcfa)

git at git.haskell.org git at git.haskell.org
Tue Jul 7 18:49:28 UTC 2015


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/d03bcfaa255279c7f0c0d931b3202d45faa9b8e0/ghc

>---------------------------------------------------------------

commit d03bcfaa255279c7f0c0d931b3202d45faa9b8e0
Author: Karel Gardas <karel.gardas at centrum.cz>
Date:   Tue Jul 7 18:35:09 2015 +0200

    always use -fPIC on OpenBSD/AMD64 platform
    
    Summary:
    This patch switches -fPIC on for every invocation of GHC
    on OpenBSD/AMD64 platform. The reason is OpenBSD's support
    for PIE (PIC for executables) hence -fPIC is also needed
    for GHC compiled code.
    
    Fixes #10597
    
    Reviewers: austin
    
    Subscribers: thomie, bgamari
    
    Differential Revision: https://phabricator.haskell.org/D1027


>---------------------------------------------------------------

d03bcfaa255279c7f0c0d931b3202d45faa9b8e0
 compiler/main/DynFlags.hs | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs
index 23a5fed..78614a4 100644
--- a/compiler/main/DynFlags.hs
+++ b/compiler/main/DynFlags.hs
@@ -3228,6 +3228,12 @@ default_PIC :: Platform -> [GeneralFlag]
 default_PIC platform =
   case (platformOS platform, platformArch platform) of
     (OSDarwin, ArchX86_64) -> [Opt_PIC]
+    (OSOpenBSD, ArchX86_64) -> [Opt_PIC] -- Due to PIE support in
+                                         -- OpenBSD since 5.3 release
+                                         -- (1 May 2013) we need to
+                                         -- always generate PIC. See
+                                         -- #10597 for more
+                                         -- information.
     _                      -> []
 
 impliedGFlags :: [(GeneralFlag, TurnOnFlag, GeneralFlag)]



More information about the ghc-commits mailing list