From 4ebee8024b76c889e8906cf67412d7dea84eaa47 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sun, 8 May 2016 12:07:36 +0100 Subject: [PATCH] [powerpc*] Fix sstep compile on powerpcspe Closes: #823526; thanks to Lennart Sorensen --- debian/changelog | 2 + ...erpc-fix-sstep-compile-on-powerpcspe.patch | 48 +++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 51 insertions(+) create mode 100644 debian/patches/bugfix/powerpc/powerpc-fix-sstep-compile-on-powerpcspe.patch diff --git a/debian/changelog b/debian/changelog index 51f18d66e..0ce270d51 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,8 @@ linux (4.5.3-2) UNRELEASED; urgency=medium * [s390x] PCI: Ignore zpci ABI changes; these functions are not used by modules + * [powerpc*] Fix sstep compile on powerpcspe (Closes: #823526; thanks to + Lennart Sorensen) -- Ben Hutchings Sun, 08 May 2016 11:56:07 +0100 diff --git a/debian/patches/bugfix/powerpc/powerpc-fix-sstep-compile-on-powerpcspe.patch b/debian/patches/bugfix/powerpc/powerpc-fix-sstep-compile-on-powerpcspe.patch new file mode 100644 index 000000000..460db4096 --- /dev/null +++ b/debian/patches/bugfix/powerpc/powerpc-fix-sstep-compile-on-powerpcspe.patch @@ -0,0 +1,48 @@ +From: "Lennart Sorensen" +Subject: powerpc: Fix sstep compile on powerpcspe +Date: Thu, 5 May 2016 16:44:44 -0400 +Forwarded: http://news.gmane.org/gmane.linux.ports.ppc.embedded/95502 +Bug-Debian: https://bugs.debian.org/823526 + +Commit be96f63375a14ee8e690856ac77e579c75bd0bae introduced ldarx and stdcx +into the instructions in sstep.c, which are not accepted by the assembler +on powerpcspe, but does seem to be accepted by the normal powerpc assembler +even in 32 bit mode. + +Wrap these two instructions in a __powerpc64__ check like it is everywhere +else in the file. + +Fixes: be96f63375a1 ("powerpc: Split out instruction analysis part of emulate_step()") +Signed-off-by: Len Sorensen +--- + arch/powerpc/lib/sstep.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c +index dc885b3..6d34310 100644 +--- a/arch/powerpc/lib/sstep.c ++++ b/arch/powerpc/lib/sstep.c +@@ -1818,9 +1818,11 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr) + case 4: + __get_user_asmx(val, op.ea, err, "lwarx"); + break; ++#ifdef __powerpc64__ + case 8: + __get_user_asmx(val, op.ea, err, "ldarx"); + break; ++#endif + default: + return 0; + } +@@ -1841,9 +1843,11 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr) + case 4: + __put_user_asmx(op.val, op.ea, err, "stwcx.", cr); + break; ++#ifdef __powerpc64__ + case 8: + __put_user_asmx(op.val, op.ea, err, "stdcx.", cr); + break; ++#endif + default: + return 0; + } diff --git a/debian/patches/series b/debian/patches/series index 51a46e9e1..d4fe6923d 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -52,6 +52,7 @@ bugfix/arm/arm-dts-kirkwood-fix-sd-slot-default-configuration-f.patch bugfix/sparc/sparc-implement-and-wire-up-modalias_show-for-vio.patch bugfix/sparc/sparc-implement-and-wire-up-vio_hotplug-for-vio.patch bugfix/x86/revert-sp5100_tco-fix-the-device-check-for-SB800-and.patch +bugfix/powerpc/powerpc-fix-sstep-compile-on-powerpcspe.patch # Arch features features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch