[kernel] r7617 - in dists/trunk/linux-2.6/debian: . patches/bugfix/mips patches/series

Martin Michlmayr tbm at costa.debian.org
Mon Oct 16 15:11:22 UTC 2006


Author: tbm
Date: Mon Oct 16 15:11:19 2006
New Revision: 7617

Added:
   dists/trunk/linux-2.6/debian/patches/bugfix/mips/modules_msym32.patch
   dists/trunk/linux-2.6/debian/patches/bugfix/mips/o32_personality.patch
   dists/trunk/linux-2.6/debian/patches/bugfix/mips/workaround_gcc_options.patch
Modified:
   dists/trunk/linux-2.6/debian/changelog
   dists/trunk/linux-2.6/debian/patches/series/3

Log:
add more patches from linux-mips' linux-2.6.18-stable GIT tree


Modified: dists/trunk/linux-2.6/debian/changelog
==============================================================================
--- dists/trunk/linux-2.6/debian/changelog	(original)
+++ dists/trunk/linux-2.6/debian/changelog	Mon Oct 16 15:11:19 2006
@@ -100,6 +100,9 @@
     - BCM1480: Mask pending interrupts against c0_status.im.
     - Cobalt: Time runs too quickly
     - Show actual CPU information in /proc/cpuinfo
+    - Workaround for bug in gcc -EB / -EL options
+    - Do not use -msym32 option for modules
+    - Fix O32 personality(2) call with 0xffffffff argument
 
   [ dann frazier ]
   * [ia64]: Fix booting on HP cell systems, thanks to Troy Heber

Added: dists/trunk/linux-2.6/debian/patches/bugfix/mips/modules_msym32.patch
==============================================================================
--- (empty file)
+++ dists/trunk/linux-2.6/debian/patches/bugfix/mips/modules_msym32.patch	Mon Oct 16 15:11:19 2006
@@ -0,0 +1,31 @@
+From: Atsushi Nemoto <anemo at mba.ocn.ne.jp>
+Date: Tue, 10 Oct 2006 13:13:55 +0000 (+0900)
+Subject: [MIPS] Do not use -msym32 option for modules.
+X-Git-Url: http://www.linux-mips.org/git?p=linux.git;a=commitdiff_plain;h=c3a0eb881338608c32ff01da824da63e84aa6c8b;hp=ac5c84216a96351e2083f45e86295d934856873c
+
+[MIPS] Do not use -msym32 option for modules.
+
+On 64-bit kernel, modules are loaded into XKSEG for now.  While XKSEG
+address is not a sign-extended 32-bit address, we can not use -msym32
+option.
+
+Signed-off-by: Atsushi Nemoto <anemo at mba.ocn.ne.jp>
+Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
+(cherry picked from ca78b1a5c6a6e70e052d3ea253828e49b5d07c8a commit)
+---
+
+diff --git a/arch/mips/Makefile b/arch/mips/Makefile
+index 7b3a4fc..6aba9d4 100644
+--- a/arch/mips/Makefile
++++ b/arch/mips/Makefile
+@@ -63,7 +63,9 @@ cflags-y		+= -mabi=64
+ ifdef CONFIG_BUILD_ELF64
+ cflags-y		+= $(call cc-option,-mno-explicit-relocs)
+ else
+-cflags-y		+= $(call cc-option,-msym32)
++# -msym32 can not be used for modules since they are loaded into XKSEG
++CFLAGS_MODULE		+= $(call cc-option,-mno-explicit-relocs)
++CFLAGS_KERNEL		+= $(call cc-option,-msym32)
+ endif
+ endif
+ 

Added: dists/trunk/linux-2.6/debian/patches/bugfix/mips/o32_personality.patch
==============================================================================
--- (empty file)
+++ dists/trunk/linux-2.6/debian/patches/bugfix/mips/o32_personality.patch	Mon Oct 16 15:11:19 2006
@@ -0,0 +1,31 @@
+From: Thiemo Seufer <ths at networkno.de>
+Date: Sat, 12 Aug 2006 23:53:29 +0000 (+0100)
+Subject: [MIPS] Fix O32 personality(2) call with 0xffffffff argument.
+X-Git-Url: http://www.linux-mips.org/git?p=linux.git;a=commitdiff_plain;h=55ceaed731ab2d60d855ebec59586fa3a327eebb;hp=005f7e56e5e4b7cb3e7b1df4b5ab950c5fc293bb
+
+[MIPS] Fix O32 personality(2) call with 0xffffffff argument.
+
+A sign extension bug did result in sys_personality being invoked with a
+0xffffffffffffffffUL argument, so querying the current personality didn't
+work.
+
+Signed-off-by: Thiemo Seufer <ths at networkno.de>
+Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
+(cherry picked from 8a43b10e297799553ff13793a84d1369c2af97b8 commit)
+---
+
+diff --git a/arch/mips/kernel/linux32.c b/arch/mips/kernel/linux32.c
+index dc500e2..4b8cdc3 100644
+--- a/arch/mips/kernel/linux32.c
++++ b/arch/mips/kernel/linux32.c
+@@ -1053,7 +1053,9 @@ asmlinkage long sys32_newuname(struct ne
+ asmlinkage int sys32_personality(unsigned long personality)
+ {
+ 	int ret;
+-	if (current->personality == PER_LINUX32 && personality == PER_LINUX)
++	personality &= 0xffffffff;
++	if (personality(current->personality) == PER_LINUX32 &&
++	    personality == PER_LINUX)
+ 		personality = PER_LINUX32;
+ 	ret = sys_personality(personality);
+ 	if (ret == PER_LINUX32)

Added: dists/trunk/linux-2.6/debian/patches/bugfix/mips/workaround_gcc_options.patch
==============================================================================
--- (empty file)
+++ dists/trunk/linux-2.6/debian/patches/bugfix/mips/workaround_gcc_options.patch	Mon Oct 16 15:11:19 2006
@@ -0,0 +1,40 @@
+From: Ralf Baechle <ralf at linux-mips.org>
+Date: Tue, 10 Oct 2006 14:44:10 +0000 (+0100)
+Subject: [MIPS] Workaround for bug in gcc -EB / -EL options.
+X-Git-Url: http://www.linux-mips.org/git?p=linux.git;a=commitdiff_plain;h=ac5c84216a96351e2083f45e86295d934856873c;hp=df58f5ceeb135ebbc502e62d94c73b3c8f126bdb
+
+[MIPS] Workaround for bug in gcc -EB / -EL options.
+
+Certain gcc versions upto gcc 4.1.1 (probably 4.2-subversion as of
+2006-10-10 don't properly change the the predefined symbols if -EB / -EL
+are used, so we kludge that here.  A bug has been filed at
+http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29413.
+
+Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
+(cherry picked from c996701ba987f44aca1982360dc6407f140229ef commit)
+---
+
+diff --git a/arch/mips/Makefile b/arch/mips/Makefile
+index f4227d2..7b3a4fc 100644
+--- a/arch/mips/Makefile
++++ b/arch/mips/Makefile
+@@ -91,8 +91,17 @@ # to compile kernels with a toolchain fo
+ # carefully avoid to add it redundantly because gcc 3.3/3.4 complains
+ # when fed the toolchain default!
+ #
+-cflags-$(CONFIG_CPU_BIG_ENDIAN)		+= $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' && echo -EB -D__MIPSEB__)
+-cflags-$(CONFIG_CPU_LITTLE_ENDIAN)	+= $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' || echo -EL -D__MIPSEL__)
++# Certain gcc versions upto gcc 4.1.1 (probably 4.2-subversion as of
++# 2006-10-10 don't properly change the the predefined symbols if -EB / -EL
++# are used, so we kludge that here.  A bug has been filed at
++# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29413.
++#
++undef-all += -UMIPSEB -U_MIPSEB -U__MIPSEB -U__MIPSEB__
++undef-all += -UMIPSEL -U_MIPSEL -U__MIPSEL -U__MIPSEL__
++predef-be += -DMIPSEB -D_MIPSEB -D__MIPSEB -D__MIPSEB__
++predef-le += -DMIPSEL -D_MIPSEL -D__MIPSEL -D__MIPSEL__
++cflags-$(CONFIG_CPU_BIG_ENDIAN)		+= $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' && echo -EB $(undef-all) $(predef-be))
++cflags-$(CONFIG_CPU_LITTLE_ENDIAN)	+= $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' || echo -EL $(undef-all) $(predef-le))
+ 
+ cflags-$(CONFIG_SB1XXX_CORELIS)	+= $(call cc-option,-mno-sched-prolog) \
+ 				   -fno-omit-frame-pointer

Modified: dists/trunk/linux-2.6/debian/patches/series/3
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/series/3	(original)
+++ dists/trunk/linux-2.6/debian/patches/series/3	Mon Oct 16 15:11:19 2006
@@ -4,6 +4,9 @@
 + bugfix/mips/sb1480_interrupt_fixes.patch
 + bugfix/mips/cobalt_hz.patch
 + bugfix/mips/real-cpu-cpuinfo.patch
++ bugfix/mips/modules_msym32.patch
++ bugfix/mips/workaround_gcc_options.patch
++ bugfix/mips/o32_personality.patch
 + bugfix/sky2-receive-FIFO-fix.patch
 + features/all/drivers/scsi-ahci-cleanup-1.patch
 + features/all/drivers/scsi-ahci-cleanup-2.patch



More information about the Kernel-svn-changes mailing list