config.mk.in: Disable stripping by default on ARM
authorBen Gamari <bgamari.foss@gmail.com>
Wed, 23 Dec 2015 22:51:02 +0000 (23:51 +0100)
committerBen Gamari <ben@smart-cactus.org>
Wed, 23 Dec 2015 22:52:34 +0000 (23:52 +0100)
The Cortex A8 hardware apparently has a bug which ld.gold will try to
correct; however in order to do so it must have unstripped executables
lest we see warnings of the form (see #10376, #10464),

    /usr/bin/ld.gold: warning: cannot scan executable section 1 of ...
    for Cortex-A8 erratum because it has no mapping symbols.

Consequently we disabling stripping by default on this architecture.

A bit more discussion about this issue can be found in this [Android
issue](http://code.google.com/p/android/issues/detail?id=40794).

Test Plan: Try validating on ARM

Reviewers: erikd, austin, thomie

Reviewed By: austin, thomie

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

GHC Trac Issues: #10376, #10464

mk/config.mk.in

index d7cd05b..fd0bb51 100644 (file)
@@ -755,6 +755,17 @@ endif
 
 ifeq "$(TARGETPLATFORM)" "x86_64-unknown-mingw32"
 STRIP_CMD      = $(TOP)/inplace/mingw/bin/strip.exe
+else ifeq "$(TARGETPLATFORM)" "arm-unknown-linux"
+# The Cortex A8 hardware apparently has a bug which ld.gold will check for;
+# however in order to do so it must have unstripped executables lest we
+# see warnings of the form (see #10376, #10464),
+#
+#     /usr/bin/ld.gold: warning: cannot scan executable section 1 of ... for
+#     Cortex-A8 erratum because it has no mapping symbols.
+#
+# Consequently we disabling stripping by default on this architecture.
+# The hack of using `:` to disable stripping is implemented by ghc-cabal.
+STRIP_CMD      = :
 else
 STRIP_CMD      = strip
 endif