]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.0-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 16 Aug 2013 23:06:52 +0000 (16:06 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 16 Aug 2013 23:06:52 +0000 (16:06 -0700)
added patches:
powerpc-use-mtraceback-no.patch
sparc32-add-ucmpdi2.o-to-obj-y-instead-of-lib-y.patch
sparc32-add-ucmpdi2.patch

queue-3.0/powerpc-use-mtraceback-no.patch [new file with mode: 0644]
queue-3.0/series
queue-3.0/sparc32-add-ucmpdi2.o-to-obj-y-instead-of-lib-y.patch [new file with mode: 0644]
queue-3.0/sparc32-add-ucmpdi2.patch [new file with mode: 0644]

diff --git a/queue-3.0/powerpc-use-mtraceback-no.patch b/queue-3.0/powerpc-use-mtraceback-no.patch
new file mode 100644 (file)
index 0000000..58d5b43
--- /dev/null
@@ -0,0 +1,37 @@
+From af9719c3062dfe216a0c3de3fa52be6d22b4456c Mon Sep 17 00:00:00 2001
+From: Anton Blanchard <anton@samba.org>
+Date: Thu, 30 Jun 2011 13:55:27 +0000
+Subject: powerpc: Use -mtraceback=no
+
+From: Anton Blanchard <anton@samba.org>
+
+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 <anton@samba.org>
+Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Cc: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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)
index cc45f24136a6768c3f64ec2ec94a3c79dcd687ae..6afadca1d13b2b82638f105c6fb7a083f7571385 100644 (file)
@@ -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 (file)
index 0000000..7f50091
--- /dev/null
@@ -0,0 +1,40 @@
+From 74c7b28953d4eaa6a479c187aeafcfc0280da5e8 Mon Sep 17 00:00:00 2001
+From: "David S. Miller" <davem@davemloft.net>
+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" <davem@davemloft.net>
+
+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 <davem@davemloft.net>
+Cc: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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 (file)
index 0000000..3bfa288
--- /dev/null
@@ -0,0 +1,61 @@
+From de36e66d5fa52bc6e2dacd95c701a1762b5308a7 Mon Sep 17 00:00:00 2001
+From: Sam Ravnborg <sam@ravnborg.org>
+Date: Sat, 19 May 2012 11:54:11 +0200
+Subject: sparc32: add ucmpdi2
+
+From: Sam Ravnborg <sam@ravnborg.org>
+
+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 <sam@ravnborg.org>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Cc: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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 <linux/module.h>
++#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);