linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* asmlinkage FASTCALL
@ 2002-02-28 22:11 Pavel Machek
  0 siblings, 0 replies; only message in thread
From: Pavel Machek @ 2002-02-28 22:11 UTC (permalink / raw)
  To: kernel list, Rusty trivial patch monkey Russell

Hi!

Well, asmlinkage is "__attribute__ regparm(0)", while fastcall is
"__attribute__ regparm(3)". If you mix them on gcc 3.1, you get nice
miscompilation. That should be fixed.

Index: arch/i386/kernel/signal.c
===================================================================
RCS file: /cvs/Repository/linux/arch/i386/kernel/signal.c,v
retrieving revision 1.3
diff -u -u -r1.3 signal.c
--- arch/i386/kernel/signal.c	2001/10/16 23:40:31	1.3
+++ arch/i386/kernel/signal.c	2002/02/28 22:11:41
@@ -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)
 {
Index: arch/i386/kernel/vm86.c
===================================================================
RCS file: /cvs/Repository/linux/arch/i386/kernel/vm86.c,v
retrieving revision 1.2
diff -u -u -r1.2 vm86.c
--- arch/i386/kernel/vm86.c	2001/07/21 13:03:51	1.2
+++ arch/i386/kernel/vm86.c	2002/02/28 22:11:41
@@ -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;
Index: arch/s390/kernel/signal.c
===================================================================
RCS file: /cvs/Repository/linux/arch/s390/kernel/signal.c,v
retrieving revision 1.4
diff -u -u -r1.4 signal.c
--- arch/s390/kernel/signal.c	2001/10/24 23:58:45	1.4
+++ arch/s390/kernel/signal.c	2002/02/28 22:11:44
@@ -47,7 +47,7 @@
 	struct ucontext uc;
 } rt_sigframe;
 
-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)
 {
Index: arch/s390x/kernel/signal.c
===================================================================
RCS file: /cvs/Repository/linux/arch/s390x/kernel/signal.c,v
retrieving revision 1.4
diff -u -u -r1.4 signal.c
--- arch/s390x/kernel/signal.c	2001/10/24 23:58:47	1.4
+++ arch/s390x/kernel/signal.c	2002/02/28 22:11:44
@@ -47,7 +47,7 @@
 	struct ucontext uc;
 } rt_sigframe;
 
-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)
 {

									Pavel
-- 
(about SSSCA) "I don't say this lightly.  However, I really think that the U.S.
no longer is classifiable as a democracy, but rather as a plutocracy." --hpa

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2002-02-28 22:20 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-02-28 22:11 asmlinkage FASTCALL Pavel Machek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).