2001-12-18 15:49:45

by Jakub Jelinek

[permalink] [raw]
Subject: Fix arch/i386/kernel/{signal,vm68}.c for CVS gcc

Hi!

Using __attribute__((regparm(0))) __attribute__((regparm(3))) on the same
function is asking for trouble. I think gcc documentation never talks about
what it does when seeing attributes for the same DECL/TYPE. It used to pick
regparm(3), current CVS gcc picks regparm(0).

Please apply.

--- linux/arch/i386/kernel/vm86.c.jj Sat Jul 7 02:05:07 2001
+++ linux/arch/i386/kernel/vm86.c Tue Dec 18 16:55:52 2001
@@ -62,7 +62,7 @@
( (unsigned)( & (((struct kernel_vm86_regs *)0)->VM86_REGS_PART2) ) )
#define VM86_REGS_SIZE2 (sizeof(struct kernel_vm86_regs) - VM86_REGS_SIZE1)

-asmlinkage struct pt_regs * FASTCALL(save_v86_state(struct kernel_vm86_regs * regs));
+struct pt_regs * FASTCALL(save_v86_state(struct kernel_vm86_regs * regs));
struct pt_regs * save_v86_state(struct kernel_vm86_regs * regs)
{
struct tss_struct *tss;
--- linux/arch/i386/kernel/signal.c.jj Fri Sep 14 23:15:40 2001
+++ linux/arch/i386/kernel/signal.c Tue Dec 18 16:56:05 2001
@@ -28,7 +28,7 @@

#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))

-asmlinkage int FASTCALL(do_signal(struct pt_regs *regs, sigset_t *oldset));
+int FASTCALL(do_signal(struct pt_regs *regs, sigset_t *oldset));

int copy_siginfo_to_user(siginfo_t *to, siginfo_t *from)
{

Jakub