[s390x] Un-revert upstream change moving exports to assembly sources

s390 now has <asm/asm-prototypes.h>, so exports from asm should have
versions.  It also gained another EXPORT_SYMBOL() in asm that we
didn't revert, leading to FTBFS.
This commit is contained in:
Ben Hutchings 2017-02-01 22:35:26 +00:00
parent 723c39261d
commit cebb2af7dd
3 changed files with 7 additions and 129 deletions

7
debian/changelog vendored
View File

@ -1,3 +1,10 @@
linux (4.10~rc6-1~exp2) UNRELEASED; urgency=medium
* [s390x] Un-revert upstream change moving exports to assembly sources
(fixes FTBFS)
-- Ben Hutchings <ben@decadent.org.uk> Wed, 01 Feb 2017 22:13:06 +0000
linux (4.10~rc6-1~exp1) experimental; urgency=medium
* New upstream release candidate

View File

@ -1,128 +0,0 @@
From: Ben Hutchings <ben@decadent.org.uk>
Date: Thu, 1 Dec 2016 23:13:38 +0000
Subject: Revert "s390: move exports to definitions"
Forwarded: not-needed
This reverts commit 711f5df7bf3ae7657e15edf76d671042c051ce95 because
symbols exported from assembly don't automatically get modversions (ABI
hashes).
---
arch/s390/include/asm/Kbuild | 1 -
arch/s390/kernel/Makefile | 2 +-
arch/s390/kernel/entry.S | 6 ------
arch/s390/kernel/mcount.S | 3 ---
arch/s390/kernel/s390_ksyms.c | 15 +++++++++++++++
arch/s390/lib/mem.S | 3 ---
6 files changed, 16 insertions(+), 14 deletions(-)
create mode 100644 arch/s390/kernel/s390_ksyms.c
--- a/arch/s390/include/asm/Kbuild
+++ b/arch/s390/include/asm/Kbuild
@@ -1,7 +1,6 @@
generic-y += asm-offsets.h
generic-y += clkdev.h
generic-y += dma-contiguous.h
-generic-y += export.h
generic-y += irq_work.h
generic-y += mcs_spinlock.h
generic-y += mm-arch-hooks.h
--- a/arch/s390/kernel/Makefile
+++ b/arch/s390/kernel/Makefile
@@ -68,7 +68,7 @@ obj-y += entry.o reipl.o relocate_kernel
extra-y += head.o head64.o vmlinux.lds
-obj-$(CONFIG_MODULES) += module.o
+obj-$(CONFIG_MODULES) += s390_ksyms.o module.o
obj-$(CONFIG_SMP) += smp.o
obj-$(CONFIG_SCHED_TOPOLOGY) += topology.o
obj-$(CONFIG_HIBERNATION) += suspend.o swsusp.o
--- a/arch/s390/kernel/entry.S
+++ b/arch/s390/kernel/entry.S
@@ -23,7 +23,6 @@
#include <asm/vx-insn.h>
#include <asm/setup.h>
#include <asm/nmi.h>
-#include <asm/export.h>
__PT_R0 = __PT_GPRS
__PT_R1 = __PT_GPRS + 8
@@ -265,8 +264,6 @@ sie_exit:
EX_TABLE(.Lrewind_pad,.Lsie_fault)
EX_TABLE(sie_exit,.Lsie_fault)
-EXPORT_SYMBOL(sie64a)
-EXPORT_SYMBOL(sie_exit)
#endif
/*
@@ -835,9 +832,6 @@ ENTRY(save_fpu_regs)
oi __LC_CPU_FLAGS+7,_CIF_FPU
br %r14
.Lsave_fpu_regs_end:
-#if IS_ENABLED(CONFIG_KVM)
-EXPORT_SYMBOL(save_fpu_regs)
-#endif
/*
* Load floating-point controls and floating-point or vector registers.
--- a/arch/s390/kernel/mcount.S
+++ b/arch/s390/kernel/mcount.S
@@ -9,7 +9,6 @@
#include <asm/asm-offsets.h>
#include <asm/ftrace.h>
#include <asm/ptrace.h>
-#include <asm/export.h>
.section .kprobes.text, "ax"
@@ -24,8 +23,6 @@ ENTRY(ftrace_stub)
ENTRY(_mcount)
br %r14
-EXPORT_SYMBOL(_mcount)
-
ENTRY(ftrace_caller)
.globl ftrace_regs_caller
.set ftrace_regs_caller,ftrace_caller
--- /dev/null
+++ b/arch/s390/kernel/s390_ksyms.c
@@ -0,0 +1,15 @@
+#include <linux/module.h>
+#include <linux/kvm_host.h>
+#include <asm/fpu/api.h>
+#include <asm/ftrace.h>
+
+#ifdef CONFIG_FUNCTION_TRACER
+EXPORT_SYMBOL(_mcount);
+#endif
+#if IS_ENABLED(CONFIG_KVM)
+EXPORT_SYMBOL(sie64a);
+EXPORT_SYMBOL(sie_exit);
+EXPORT_SYMBOL(save_fpu_regs);
+#endif
+EXPORT_SYMBOL(memcpy);
+EXPORT_SYMBOL(memset);
--- a/arch/s390/lib/mem.S
+++ b/arch/s390/lib/mem.S
@@ -5,7 +5,6 @@
*/
#include <linux/linkage.h>
-#include <asm/export.h>
/*
* void *memmove(void *dest, const void *src, size_t n)
@@ -100,7 +99,6 @@ ENTRY(memset)
xc 0(1,%r1),0(%r1)
.Lmemset_mvc:
mvc 1(1,%r1),0(%r1)
-EXPORT_SYMBOL(memset)
/*
* memcpy implementation
@@ -127,4 +125,3 @@ ENTRY(memcpy)
j .Lmemcpy_rest
.Lmemcpy_mvc:
mvc 0(1,%r1),0(%r3)
-EXPORT_SYMBOL(memcpy)

View File

@ -96,7 +96,6 @@ debian/i386-686-pae-pci-set-pci-nobios-by-default.patch
# Fix exported symbol versions
bugfix/ia64/revert-ia64-move-exports-to-definitions.patch
bugfix/sparc/revert-sparc-move-exports-to-definitions.patch
bugfix/s390/revert-s390-move-exports-to-definitions.patch
bugfix/m68k/revert-m68k-move-exports-to-definitions.patch
bugfix/alpha/revert-alpha-move-exports-to-actual-definitions.patch
bugfix/powerpc/powerpc-remove-mac-on-linux-hooks.patch