FAILED: patch "[PATCH] arm64: errata: Add -mpc-relative-literal-loads to build flags" failed to apply to 4.4-stable tree

Message ID 20160224105104.GD28310@arm.com
State New
Headers show

Commit Message

Will Deacon Feb. 24, 2016, 10:51 a.m.
On Tue, Feb 23, 2016 at 05:49:16PM -0800, gregkh@linuxfoundation.org wrote:
> The patch below does not apply to the 4.4-stable tree.

> If someone wants it applied there, or to any other stable or longterm

> tree, then please email the backport, including the original git commit

> id to <stable@vger.kernel.org>.


Updated backport below.

Will

--->8

From d88e3c8e9ad271359db7b3ab5bdeebb6f65e7ff6 Mon Sep 17 00:00:00 2001
From: dann frazier <dann.frazier@canonical.com>

Date: Mon, 25 Jan 2016 16:52:16 -0700
Subject: [PATCH] arm64: errata: Add -mpc-relative-literal-loads to build flags

Commit 67dfa1751ce7 upstream.

GCC6 (and Linaro's 2015.12 snapshot of GCC5) has a new default that uses
adrp/ldr or adrp/add to address literal pools. When CONFIG_ARM64_ERRATUM_843419
is enabled, modules built with this toolchain fail to load:

  module libahci: unsupported RELA relocation: 275

This patch fixes the problem by passing '-mpc-relative-literal-loads'
to the compiler.

Cc: stable@vger.kernel.org
Fixes: df057cc7b4fa ("arm64: errata: add module build workaround for erratum #843419")
BugLink: http://bugs.launchpad.net/bugs/1533009
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

Suggested-by: Christophe Lyon <christophe.lyon@linaro.org>
Signed-off-by: Dann Frazier <dann.frazier@canonical.com>

[will: backport to 4.4-stable]
Signed-off-by: Will Deacon <will.deacon@arm.com>

---
 arch/arm64/Makefile | 1 +
 1 file changed, 1 insertion(+)

-- 
2.1.4
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
index cd822d8454c0..b6c90e5006e4 100644
--- a/arch/arm64/Makefile
+++ b/arch/arm64/Makefile
@@ -27,6 +27,7 @@  $(warning LSE atomics not supported by binutils)
 endif
 
 KBUILD_CFLAGS	+= -mgeneral-regs-only $(lseinstr)
+KBUILD_CFLAGS	+= $(call cc-option, -mpc-relative-literal-loads)
 KBUILD_AFLAGS	+= $(lseinstr)
 
 ifeq ($(CONFIG_CPU_BIG_ENDIAN), y)