From: Greg Kroah-Hartman Date: Fri, 16 Aug 2013 23:06:52 +0000 (-0700) Subject: 3.0-stable patches X-Git-Tag: v3.0.92~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a579970b8a3ea90d75db78b9b259f2e53957a87e;p=thirdparty%2Fkernel%2Fstable-queue.git 3.0-stable patches added patches: powerpc-use-mtraceback-no.patch sparc32-add-ucmpdi2.o-to-obj-y-instead-of-lib-y.patch sparc32-add-ucmpdi2.patch --- diff --git a/queue-3.0/powerpc-use-mtraceback-no.patch b/queue-3.0/powerpc-use-mtraceback-no.patch new file mode 100644 index 00000000000..58d5b435b6a --- /dev/null +++ b/queue-3.0/powerpc-use-mtraceback-no.patch @@ -0,0 +1,37 @@ +From af9719c3062dfe216a0c3de3fa52be6d22b4456c Mon Sep 17 00:00:00 2001 +From: Anton Blanchard +Date: Thu, 30 Jun 2011 13:55:27 +0000 +Subject: powerpc: Use -mtraceback=no + +From: Anton Blanchard + +commit af9719c3062dfe216a0c3de3fa52be6d22b4456c upstream. + +gcc 4.7 will be more strict about parsing the -mtraceback option: + + gcc: error: unrecognized argument in option '-mtraceback=none' + gcc: note: valid arguments to '-mtraceback=' are: full no part + +gcc used to do a 2 char compare so both "no" and "none" would +match. Switch to using -mtraceback=no should work everywhere. + +Signed-off-by: Anton Blanchard +Signed-off-by: Benjamin Herrenschmidt +Cc: Guenter Roeck +Signed-off-by: Greg Kroah-Hartman + +--- + arch/powerpc/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/powerpc/Makefile ++++ b/arch/powerpc/Makefile +@@ -67,7 +67,7 @@ LDFLAGS_vmlinux-yy := -Bstatic + LDFLAGS_vmlinux-$(CONFIG_PPC64)$(CONFIG_RELOCATABLE) := -pie + LDFLAGS_vmlinux := $(LDFLAGS_vmlinux-yy) + +-CFLAGS-$(CONFIG_PPC64) := -mminimal-toc -mtraceback=none -mcall-aixdesc ++CFLAGS-$(CONFIG_PPC64) := -mminimal-toc -mtraceback=no -mcall-aixdesc + CFLAGS-$(CONFIG_PPC32) := -ffixed-r2 -mmultiple + KBUILD_CPPFLAGS += -Iarch/$(ARCH) + KBUILD_AFLAGS += -Iarch/$(ARCH) diff --git a/queue-3.0/series b/queue-3.0/series index cc45f24136a..6afadca1d13 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -4,3 +4,6 @@ af_key-initialize-satype-in-key_notify_policy_flush.patch genetlink-fix-family-dump-race.patch usb-add-two-quirky-touchscreen.patch usb-mos7720-fix-broken-control-requests.patch +sparc32-add-ucmpdi2.patch +sparc32-add-ucmpdi2.o-to-obj-y-instead-of-lib-y.patch +powerpc-use-mtraceback-no.patch diff --git a/queue-3.0/sparc32-add-ucmpdi2.o-to-obj-y-instead-of-lib-y.patch b/queue-3.0/sparc32-add-ucmpdi2.o-to-obj-y-instead-of-lib-y.patch new file mode 100644 index 00000000000..7f5009149a0 --- /dev/null +++ b/queue-3.0/sparc32-add-ucmpdi2.o-to-obj-y-instead-of-lib-y.patch @@ -0,0 +1,40 @@ +From 74c7b28953d4eaa6a479c187aeafcfc0280da5e8 Mon Sep 17 00:00:00 2001 +From: "David S. Miller" +Date: Sat, 19 May 2012 15:27:01 -0700 +Subject: sparc32: Add ucmpdi2.o to obj-y instead of lib-y. + +From: "David S. Miller" + +commit 74c7b28953d4eaa6a479c187aeafcfc0280da5e8 upstream. + +Otherwise if no references exist in the static kernel image, +we won't export the symbol properly to modules. + +Signed-off-by: David S. Miller +Cc: Guenter Roeck +Signed-off-by: Greg Kroah-Hartman + +--- + arch/sparc/lib/Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/arch/sparc/lib/Makefile ++++ b/arch/sparc/lib/Makefile +@@ -15,7 +15,7 @@ lib-$(CONFIG_SPARC32) += divdi3.o udivdi + lib-$(CONFIG_SPARC32) += copy_user.o locks.o + lib-y += atomic_$(BITS).o + lib-$(CONFIG_SPARC32) += lshrdi3.o ashldi3.o +-lib-$(CONFIG_SPARC32) += muldi3.o bitext.o cmpdi2.o ucmpdi2.o ++lib-$(CONFIG_SPARC32) += muldi3.o bitext.o cmpdi2.o + + lib-$(CONFIG_SPARC64) += copy_page.o clear_page.o bzero.o + lib-$(CONFIG_SPARC64) += csum_copy.o csum_copy_from_user.o csum_copy_to_user.o +@@ -40,7 +40,7 @@ lib-$(CONFIG_SPARC64) += copy_in_user.o + lib-$(CONFIG_SPARC64) += mcount.o ipcsum.o xor.o hweight.o ffs.o + + obj-y += iomap.o +-obj-$(CONFIG_SPARC32) += atomic32.o ++obj-$(CONFIG_SPARC32) += atomic32.o ucmpdi2.o + obj-y += ksyms.o + obj-$(CONFIG_SPARC64) += PeeCeeI.o + obj-y += usercopy.o diff --git a/queue-3.0/sparc32-add-ucmpdi2.patch b/queue-3.0/sparc32-add-ucmpdi2.patch new file mode 100644 index 00000000000..3bfa2889593 --- /dev/null +++ b/queue-3.0/sparc32-add-ucmpdi2.patch @@ -0,0 +1,61 @@ +From de36e66d5fa52bc6e2dacd95c701a1762b5308a7 Mon Sep 17 00:00:00 2001 +From: Sam Ravnborg +Date: Sat, 19 May 2012 11:54:11 +0200 +Subject: sparc32: add ucmpdi2 + +From: Sam Ravnborg + +commit de36e66d5fa52bc6e2dacd95c701a1762b5308a7 upstream. + +Based on copy from microblaze add ucmpdi2 implementation. +This fixes build of niu driver which failed with: + +drivers/built-in.o: In function `niu_get_nfc': +niu.c:(.text+0x91494): undefined reference to `__ucmpdi2' + +This driver will never be used on a sparc32 system, +but patch added to fix build breakage with all*config builds. + +Signed-off-by: Sam Ravnborg +Signed-off-by: David S. Miller +Cc: Guenter Roeck +Signed-off-by: Greg Kroah-Hartman + +--- + arch/sparc/lib/Makefile | 2 +- + arch/sparc/lib/ucmpdi2.c | 19 +++++++++++++++++++ + 2 files changed, 20 insertions(+), 1 deletion(-) + +--- a/arch/sparc/lib/Makefile ++++ b/arch/sparc/lib/Makefile +@@ -15,7 +15,7 @@ lib-$(CONFIG_SPARC32) += divdi3.o udivdi + lib-$(CONFIG_SPARC32) += copy_user.o locks.o + lib-y += atomic_$(BITS).o + lib-$(CONFIG_SPARC32) += lshrdi3.o ashldi3.o +-lib-$(CONFIG_SPARC32) += muldi3.o bitext.o cmpdi2.o ++lib-$(CONFIG_SPARC32) += muldi3.o bitext.o cmpdi2.o ucmpdi2.o + + lib-$(CONFIG_SPARC64) += copy_page.o clear_page.o bzero.o + lib-$(CONFIG_SPARC64) += csum_copy.o csum_copy_from_user.o csum_copy_to_user.o +--- /dev/null ++++ b/arch/sparc/lib/ucmpdi2.c +@@ -0,0 +1,19 @@ ++#include ++#include "libgcc.h" ++ ++word_type __ucmpdi2(unsigned long long a, unsigned long long b) ++{ ++ const DWunion au = {.ll = a}; ++ const DWunion bu = {.ll = b}; ++ ++ if ((unsigned int) au.s.high < (unsigned int) bu.s.high) ++ return 0; ++ else if ((unsigned int) au.s.high > (unsigned int) bu.s.high) ++ return 2; ++ if ((unsigned int) au.s.low < (unsigned int) bu.s.low) ++ return 0; ++ else if ((unsigned int) au.s.low > (unsigned int) bu.s.low) ++ return 2; ++ return 1; ++} ++EXPORT_SYMBOL(__ucmpdi2);