summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoritz Angermann <moritz.angermann@gmail.com>2021-03-26 10:02:41 +0800
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-03-29 17:25:49 -0400
commit6604409594f71d2ed5963bb3897bc4ee772cc5c0 (patch)
tree0c8b18903ea386f486847a9e2405bdc1366902db
parent142950d9d17f482c26f12767b4e23e3fb2d204cd (diff)
downloadhaskell-6604409594f71d2ed5963bb3897bc4ee772cc5c0.tar.gz
[armv7] PIC by default + [aarch64-linux] T11276 metric increase
Metric Increase: T11276
-rw-r--r--compiler/GHC/Driver/Session.hs1
-rw-r--r--includes/rts/Flags.h2
2 files changed, 2 insertions, 1 deletions
diff --git a/compiler/GHC/Driver/Session.hs b/compiler/GHC/Driver/Session.hs
index ff84dbfc65..b3052978af 100644
--- a/compiler/GHC/Driver/Session.hs
+++ b/compiler/GHC/Driver/Session.hs
@@ -3692,6 +3692,7 @@ default_PIC platform =
-- be built with -fPIC.
(OSDarwin, ArchAArch64) -> [Opt_PIC]
(OSLinux, ArchAArch64) -> [Opt_PIC, Opt_ExternalDynamicRefs]
+ (OSLinux, ArchARM {}) -> [Opt_PIC, Opt_ExternalDynamicRefs]
(OSOpenBSD, ArchX86_64) -> [Opt_PIC] -- Due to PIE support in
-- OpenBSD since 5.3 release
-- (1 May 2013) we need to
diff --git a/includes/rts/Flags.h b/includes/rts/Flags.h
index ff05426e8a..23a5d78ea6 100644
--- a/includes/rts/Flags.h
+++ b/includes/rts/Flags.h
@@ -207,7 +207,7 @@ typedef struct _CONCURRENT_FLAGS {
* Note that there is no 32bit darwin system we can realistically expect to
* run on or compile for.
*/
-#if defined(darwin_HOST_OS) || defined(aarch64_HOST_ARCH)
+#if defined(darwin_HOST_OS) || defined(aarch64_HOST_ARCH) || defined(arm_HOST_ARCH)
#define DEFAULT_LINKER_ALWAYS_PIC true
#else
#define DEFAULT_LINKER_ALWAYS_PIC false