From ab01013e147a08670698ff1caa571ebacab2c2ed Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Fri, 2 Dec 2016 02:46:58 +0000 Subject: [PATCH] [powerpc*] Fix more exported symbol versions --- debian/changelog | 2 + ...ing-crcs-add-yet-more-asm-prototypes.patch | 27 ++++++++++ .../powerpc-remove-mac-on-linux-hooks.patch | 53 +++++++++++++++++++ debian/patches/series | 2 + 4 files changed, 84 insertions(+) create mode 100644 debian/patches/bugfix/powerpc/powerpc-fix-missing-crcs-add-yet-more-asm-prototypes.patch create mode 100644 debian/patches/bugfix/powerpc/powerpc-remove-mac-on-linux-hooks.patch diff --git a/debian/changelog b/debian/changelog index 716e56615..03539e029 100644 --- a/debian/changelog +++ b/debian/changelog @@ -14,6 +14,8 @@ linux (4.9~rc7-1~exp1) UNRELEASED; urgency=medium * Fix exported symbol versions: - Revert upstream changes moving exports to assembly sources - [x86] kbuild: enable modversions for symbols exported from assembly + - [powerpc] Remove Mac-on-Linux hooks + - [powerpc*] Fix missing CRCs, add yet more asm-prototypes.h declarations - Revert "Fix subtle CONFIG_MODVERSIONS problems" * debian/bin/buildcheck.py: Add check for symbols with version CRC of 0 diff --git a/debian/patches/bugfix/powerpc/powerpc-fix-missing-crcs-add-yet-more-asm-prototypes.patch b/debian/patches/bugfix/powerpc/powerpc-fix-missing-crcs-add-yet-more-asm-prototypes.patch new file mode 100644 index 000000000..be736e559 --- /dev/null +++ b/debian/patches/bugfix/powerpc/powerpc-fix-missing-crcs-add-yet-more-asm-prototypes.patch @@ -0,0 +1,27 @@ +From: Ben Hutchings +Date: Fri, 2 Dec 2016 01:26:54 +0000 +Subject: powerpc: Fix missing CRCs, add yet more asm-prototypes.h declarations +Forwarded: https://lkml.kernel.org/r/20161202023837.GK2697@decadent.org.uk + +Add declarations for: +- __mfdcr, __mtdcr (if CONFIG_PPC_DCR_NATIVE=y; through ) +- switch_mmu_context (if CONFIG_PPC_BOOK3S_64=n; through ) + +Signed-off-by: Ben Hutchings +--- + arch/powerpc/include/asm/asm-prototypes.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/arch/powerpc/include/asm/asm-prototypes.h b/arch/powerpc/include/asm/asm-prototypes.h +index e0baba1535e6..ba0225ff38f8 100644 +--- a/arch/powerpc/include/asm/asm-prototypes.h ++++ b/arch/powerpc/include/asm/asm-prototypes.h +@@ -18,6 +18,8 @@ + #include + #include + #include ++#include ++#include + + #include + diff --git a/debian/patches/bugfix/powerpc/powerpc-remove-mac-on-linux-hooks.patch b/debian/patches/bugfix/powerpc/powerpc-remove-mac-on-linux-hooks.patch new file mode 100644 index 000000000..7b23343e9 --- /dev/null +++ b/debian/patches/bugfix/powerpc/powerpc-remove-mac-on-linux-hooks.patch @@ -0,0 +1,53 @@ +From: Ben Hutchings +Date: Fri, 2 Dec 2016 02:27:50 +0000 +Subject: powerpc: Remove Mac-on-Linux hooks +Forwarded: https://lkml.kernel.org/r/20161202023552.GJ2697@decadent.org.uk + +The symbols exported for use by MOL aren't getting CRCs and I was +about to fix that. But MOL is dead upstream, and the latest work on +it was to make it use KVM instead of its own kernel module. So remove +them instead. + +Signed-off-by: Ben Hutchings +--- + arch/powerpc/kernel/head_32.S | 7 +------ + arch/powerpc/mm/hash_low_32.S | 1 - + 2 files changed, 1 insertion(+), 7 deletions(-) + +diff --git a/arch/powerpc/kernel/head_32.S b/arch/powerpc/kernel/head_32.S +index 9d963547d243..87998430cd9b 100644 +--- a/arch/powerpc/kernel/head_32.S ++++ b/arch/powerpc/kernel/head_32.S +@@ -735,11 +735,7 @@ END_MMU_FTR_SECTION_IFSET(MMU_FTR_NEED_DTLB_SW_LRU) + EXCEPTION(0x2c00, Trap_2c, unknown_exception, EXC_XFER_EE) + EXCEPTION(0x2d00, Trap_2d, unknown_exception, EXC_XFER_EE) + EXCEPTION(0x2e00, Trap_2e, unknown_exception, EXC_XFER_EE) +- EXCEPTION(0x2f00, MOLTrampoline, unknown_exception, EXC_XFER_EE_LITE) +- +- .globl mol_trampoline +- .set mol_trampoline, i0x2f00 +- EXPORT_SYMBOL(mol_trampoline) ++ EXCEPTION(0x2f00, Trap_2f, unknown_exception, EXC_XFER_EE) + + . = 0x3000 + +@@ -1289,7 +1285,6 @@ intercept_table: + .long 0, 0, 0, 0, 0, 0, 0, 0 + .long 0, 0, 0, 0, 0, 0, 0, 0 + .long 0, 0, 0, 0, 0, 0, 0, 0 +-EXPORT_SYMBOL(intercept_table) + + /* Room for two PTE pointers, usually the kernel and current user pointers + * to their respective root page table. +diff --git a/arch/powerpc/mm/hash_low_32.S b/arch/powerpc/mm/hash_low_32.S +index 09cc50c8dace..cddf14f60bf3 100644 +--- a/arch/powerpc/mm/hash_low_32.S ++++ b/arch/powerpc/mm/hash_low_32.S +@@ -34,7 +34,6 @@ + .globl mmu_hash_lock + mmu_hash_lock: + .space 4 +-EXPORT_SYMBOL(mmu_hash_lock) + #endif /* CONFIG_SMP */ + + /* diff --git a/debian/patches/series b/debian/patches/series index 742955f18..77d9ae97a 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -100,6 +100,8 @@ 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/x86/x86-kbuild-enable-modversions-for-symbols-exported-f.patch +bugfix/powerpc/powerpc-remove-mac-on-linux-hooks.patch +bugfix/powerpc/powerpc-fix-missing-crcs-add-yet-more-asm-prototypes.patch bugfix/all/revert-fix-subtle-config_modversions-problems.patch # ABI maintenance