summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoritz Angermann <moritz.angermann@gmail.com>2021-03-26 10:02:41 +0800
committerMoritz Angermann <moritz.angermann@gmail.com>2021-03-29 09:37:15 +0800
commita05c6b5a02125b00734e85495329daafcebbf43e (patch)
tree0109538b500267901b0cd2457890e2551e957948
parent11e5bca5a24ae2720bb8646f86b0dd13dfc8dabf (diff)
downloadhaskell-a05c6b5a02125b00734e85495329daafcebbf43e.tar.gz
[armv7] PIC by default + [aarch64-linux] T11276 metric increase
Metric Increase: T11276
-rw-r--r--compiler/main/DynFlags.hs1
-rw-r--r--includes/rts/Flags.h2
2 files changed, 2 insertions, 1 deletions
diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs
index 8432c57cc0..a811698ad9 100644
--- a/compiler/main/DynFlags.hs
+++ b/compiler/main/DynFlags.hs
@@ -4661,6 +4661,7 @@ default_PIC platform =
-- See #15275, #18892
(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 e8d2313108..37f1253501 100644
--- a/includes/rts/Flags.h
+++ b/includes/rts/Flags.h
@@ -202,7 +202,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