linux/include
Ralf Baechle 3218357c94 [MIPS] More uaccess.h fixes with gcc >= 4.0.1.
From Richard Sandiford <richard@codesourcery.com>:
    
This patch caused a miscompilation of the restore_gp_regs() block
in restore_sigcontext().  This was in a 32-bit kernel compiled with
GCC CVS head.
    
restore_gp_regs() copies 64-bit user fields into 32-bit variables,
and in this combination, the new __get_user_asm_ll32() clobbers too
many registers.  It says:
    
/*
 * Get a long long 64 using 32 bit registers.
 */
{									\
	__asm__ __volatile__(						\
	"1:	lw	%1, (%3)				\n"	\
	"2:	lw	%D1, 4(%3)				\n"	\
	"	move	%0, $0					\n"	\
	"3:	.section	.fixup,\"ax\"			\n"	\
	"4:	li	%0, %4					\n"	\
	"	move	%1, $0					\n"	\
	"	move	%D1, $0					\n"	\
	"	j	3b					\n"	\
	"	.previous					\n"	\
	"	.section	__ex_table,\"a\"		\n"	\
	"	" __UA_ADDR "	1b, 4b				\n"	\
	"	" __UA_ADDR "	2b, 4b				\n"	\
	"	.previous					\n"	\
	: "=r" (__gu_err), "=&r" (val)					\
	: "0" (0), "r" (addr), "i" (-EFAULT));				\
}

and this requires val (%1) to be a 64-bit value.  In the case I saw,
gcc was using $3 for the 32-bit val, and wasn't expecting $4 to be
clobbered.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-02-14 19:13:24 +00:00
..
acpi [ACPI] ACPICA 20060127 2006-01-31 03:25:09 -05:00
asm-alpha [PATCH] __cmpxchg() must really always be inlined on alpha 2006-02-07 16:12:31 -08:00
asm-arm [ARM] 3326/1: H1940 - Control latches 2006-02-10 22:40:51 +00:00
asm-arm26 [PATCH] arm26: add __kernel_old_dev_t for nfsd 2006-02-01 08:53:22 -08:00
asm-cris [PATCH] include/asm-*/bitops.h: fix more "~0UL >> size" typos 2006-02-03 08:32:02 -08:00
asm-frv [PATCH] include/asm-*/bitops.h: fix more "~0UL >> size" typos 2006-02-03 08:32:02 -08:00
asm-generic [PATCH] Use atomic64_set for 64-bit case of atomic_long_set 2006-01-15 10:17:07 -08:00
asm-h8300 [PATCH] include/asm-*/bitops.h: fix more "~0UL >> size" typos 2006-02-03 08:32:02 -08:00
asm-i386 [PATCH] fstatat64 support 2006-02-11 21:41:10 -08:00
asm-ia64 Pull new-syscalls into release branch 2006-02-09 14:43:58 -08:00
asm-m32r [PATCH] death of get_thread_info/put_thread_info 2006-01-12 09:08:59 -08:00
asm-m68k [PATCH] m68k: kill mach_floppy_setup, convert to proper __setup() in drivers 2006-01-12 09:09:05 -08:00
asm-m68knommu [PATCH] m68knommu: hardirq.h needs definition of NR_IRQS 2006-02-07 16:16:54 -08:00
asm-mips [MIPS] More uaccess.h fixes with gcc >= 4.0.1. 2006-02-14 19:13:24 +00:00
asm-parisc [PARISC] New syscalls (inotify, *at, pselect6/ppoll, migrate_pages) 2006-01-30 00:53:14 -05:00
asm-powerpc [PATCH] powerpc: unshare system call registration 2006-02-10 16:34:54 +11:00
asm-ppc [PATCH] ppc: Remove powermac support from ARCH=ppc 2006-01-15 17:30:44 +11:00
asm-s390 [PATCH] s390: fstatat64 support 2006-02-12 10:11:58 -08:00
asm-sh [PATCH] sh/sh64: Fix bogus TIOCGICOUNT definitions 2006-02-01 08:53:20 -08:00
asm-sh64 [PATCH] sh/sh64: Fix bogus TIOCGICOUNT definitions 2006-02-01 08:53:20 -08:00
asm-sparc [SPARC]: sys_newfstatat --> sys_fstatat64 2006-02-12 23:30:11 -08:00
asm-sparc64 [SPARC]: sys_newfstatat --> sys_fstatat64 2006-02-12 23:30:11 -08:00
asm-um [PATCH] uml: avoid "CONFIG_NR_CPUS undeclared" bogus error messages 2006-02-01 08:53:23 -08:00
asm-v850 [PATCH] include/asm-*/bitops.h: fix more "~0UL >> size" typos 2006-02-03 08:32:02 -08:00
asm-x86_64 [PATCH] x86-64: Fix HPET timer on x460 2006-02-11 21:41:11 -08:00
asm-xtensa [PATCH] xtensa: add asm/futex.h 2006-02-01 08:53:23 -08:00
keys [PATCH] Keys: Remove key duplication 2006-01-06 08:33:29 -08:00
linux [PATCH] nvidiafb: Add support for Geforce4 MX 4000 2006-02-11 21:41:13 -08:00
math-emu
media V4L/DVB (3388): tuner_params->tda988x is currently unused, so disable 2006-01-15 21:28:17 -02:00
mtd
net Merge master.kernel.org:/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6 2006-02-13 15:40:55 -08:00
pcmcia
rdma IB: Add node_guid to struct ib_device 2006-01-10 07:39:34 -08:00
rxrpc
scsi Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 2006-01-31 13:12:41 -08:00
sound [PATCH] DocBook: fix kernel-doc comments 2006-01-10 08:01:53 -08:00
video [PATCH] include/video/newport.h: "extern inline" -> "static inline" 2006-01-10 08:01:50 -08:00