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-30 00:48:06 -0400
commit0d01810e28650ec701232711765483aa7f2cf57e (patch)
treef55b87dca4bd92fa4d28156e9960cb1192cb57e3
parent69b53b533f7d3f718d46eba90f855f22dee6c4df (diff)
downloadhaskell-wip/angerman/linker-fixes-backports.tar.gz
[armv7] PIC by default + [aarch64-linux] T11276 metric increasewip/angerman/linker-fixes-backports
Metric Increase: T11276 (cherry picked from commit 2eba59e5fb54a88145692ede00d1aadc784a2f96)
-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 aea644aac8..ba957a9bd7 100644
--- a/compiler/GHC/Driver/Session.hs
+++ b/compiler/GHC/Driver/Session.hs
@@ -3691,6 +3691,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