Skip to contentSkip to conversation

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

PATCH [email protected] 2 participants 2 messages Feb 24, 2016

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

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 <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

Quoted 1 line

From 67dfa1751ce71e629aad7c438e1678ad41054677 Mon Sep 17 00:00:00 2001

From: dann frazier <[email protected]>
Date: Mon, 25 Jan 2016 16:52:16 -0700
Subject: [PATCH] arm64: errata: Add -mpc-relative-literal-loads to build flags

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.

Fixes df057cc7b4fa ("arm64: errata: add module build workaround for erratum #843419")
arch/arm64/Makefile +1 -0
index 094a137f6083..307237cfe728 100644
@@ -28,6 +28,7 @@ endif
 
 KBUILD_CFLAGS	+= -mgeneral-regs-only $(lseinstr)
 KBUILD_CFLAGS	+= -fno-asynchronous-unwind-tables
+KBUILD_CFLAGS	+= $(call cc-option, -mpc-relative-literal-loads)
 KBUILD_AFLAGS	+= $(lseinstr)
 
 ifeq ($(CONFIG_CPU_BIG_ENDIAN), y)
Acked-by Ard Biesheuvel
#1 lore raw
Quoted 4 lines · On Tue, Feb 23, 2016 at 05:49:16PM -0800, [email protected] 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 <[email protected]>.

Updated backport below.

Will

--->8

Quoted 1 line

From d88e3c8e9ad271359db7b3ab5bdeebb6f65e7ff6 Mon Sep 17 00:00:00 2001

From: dann frazier <[email protected]>
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.

Fixes df057cc7b4fa ("arm64: errata: add module build workaround for erratum #843419")
[will: backport to 4.4-stable]
---
 arch/arm64/Makefile | 1 +
 1 file changed, 1 insertion(+)
arch/arm64/Makefile +1 -0
index cd822d8454c0..b6c90e5006e4 100644
@@ -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)
Signature · 1 line
2.1.4