kernel-ark/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
asm-alpha
asm-arm [ARM] 3326/1: H1940 - Control latches 2006-02-10 22:40:51 +00:00
asm-arm26
asm-cris
asm-frv
asm-generic
asm-h8300
asm-i386 [PATCH] fstatat64 support 2006-02-11 21:41:10 -08:00
asm-ia64
asm-m32r
asm-m68k
asm-m68knommu
asm-mips [MIPS] More uaccess.h fixes with gcc >= 4.0.1. 2006-02-14 19:13:24 +00:00
asm-parisc
asm-powerpc
asm-ppc
asm-s390 [PATCH] s390: fstatat64 support 2006-02-12 10:11:58 -08:00
asm-sh
asm-sh64
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
asm-v850
asm-x86_64 [PATCH] x86-64: Fix HPET timer on x460 2006-02-11 21:41:11 -08:00
asm-xtensa
keys
linux [PATCH] nvidiafb: Add support for Geforce4 MX 4000 2006-02-11 21:41:13 -08:00
math-emu
media
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
rxrpc
scsi
sound
video