diff options
author | Josh Boyer <jwboyer@redhat.com> | 2014-03-06 14:35:35 -0500 |
---|---|---|
committer | Josh Boyer <jwboyer@redhat.com> | 2014-03-06 14:35:39 -0500 |
commit | 5a77287012c36ca39549f2f745d6c3a2e2879ffa (patch) | |
tree | fbddc8a370fd586af875f423195268e4b4ccc0c2 /ppc64le_module_fix.patch | |
parent | e23ada199817b855a47229107c376689af21ee8c (diff) | |
download | kernel-5a77287012c36ca39549f2f745d6c3a2e2879ffa.tar.gz kernel-5a77287012c36ca39549f2f745d6c3a2e2879ffa.tar.xz kernel-5a77287012c36ca39549f2f745d6c3a2e2879ffa.zip |
Add ppc64le support from Brent Baude (rhbz 1073102)
Diffstat (limited to 'ppc64le_module_fix.patch')
-rw-r--r-- | ppc64le_module_fix.patch | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/ppc64le_module_fix.patch b/ppc64le_module_fix.patch new file mode 100644 index 000000000..77e6f55eb --- /dev/null +++ b/ppc64le_module_fix.patch @@ -0,0 +1,35 @@ +From 414794ae6a59c38f6e5793ad50df97cba3dda4e3 Mon Sep 17 00:00:00 2001 +From: Tony Breeds <tony@bakeyournoodle.com> +Date: Thu, 30 Jan 2014 19:58:55 +1100 +Subject: [PATCH] powerpc/le: Avoid creatng R_PPC64_TOCSAVE relocations for + modules. + +When building modules with a native le toolchain the linker will +generate R_PPC64_TOCSAVE relocations when it's safe to omit saving r2 on +a plt call. This isn't helpful in the conext of a kernel module and the +kernel will fail to load those modules with an error like: + nf_conntrack: Unknown ADD relocation: 109 + +This patch tells the linker to avoid createing R_PPC64_TOCSAVE +relocations allowing modules to load. + +Signed-off-by: Tony Breeds <tony@bakeyournoodle.com> +--- + arch/powerpc/Makefile | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile +index 0f4344e..fff3945 100644 +--- a/arch/powerpc/Makefile ++++ b/arch/powerpc/Makefile +@@ -74,6 +74,9 @@ override CROSS32AS += -mlittle-endian + LDEMULATION := lppc + GNUTARGET := powerpcle + MULTIPLEWORD := -mno-multiple ++ifeq ($(call cc-option-yn,-mno-save-toc-indirect),y) ++ KBUILD_CFLAGS_MODULE += -mno-save-toc-indirect ++endif + else + ifeq ($(call cc-option-yn,-mbig-endian),y) + override CC += -mbig-endian +-- |