linux/debian/patches/bugfix/s390/revert-s390-move-exports-to...

129 lines
3.1 KiB
Diff

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)