Yup. Whole putuser.S is unused. Either it should be killed [as my
patch suggests], or ... well ... it should be used.
Please either apply or say how you'd like this to be fixed.
Pavel
PS: Tested on i386, both make and make modules works ok.
--- clean/arch/i386/lib/putuser.S Mon Jan 12 22:37:26 1998
+++ linux/arch/i386/lib/putuser.S Thu Jun 28 12:53:09 2001
@@ -1,71 +0,0 @@
-/*
- * __put_user functions.
- *
- * (C) Copyright 1998 Linus Torvalds
- *
- * These functions have a non-standard call interface
- * to make them more efficient.
- */
-
-/*
- * __put_user_X
- *
- * Inputs: %eax contains the address
- * %edx contains the value
- *
- * Outputs: %eax is error code (0 or -EFAULT)
- * %ecx is corrupted (will contain "current_task").
- *
- * These functions should not modify any other registers,
- * as they get called from within inline assembly.
- */
-
-addr_limit = 12
-
-.text
-.align 4
-.globl __put_user_1
-__put_user_1:
- movl %esp,%ecx
- andl $0xffffe000,%ecx
- cmpl addr_limit(%ecx),%eax
- jae bad_put_user
-1: movb %dl,(%eax)
- xorl %eax,%eax
- ret
-
-.align 4
-.globl __put_user_2
-__put_user_2:
- addl $1,%eax
- movl %esp,%ecx
- jc bad_put_user
- andl $0xffffe000,%ecx
- cmpl addr_limit(%ecx),%eax
- jae bad_put_user
-2: movw %dx,-1(%eax)
- xorl %eax,%eax
- ret
-
-.align 4
-.globl __put_user_4
-__put_user_4:
- addl $3,%eax
- movl %esp,%ecx
- jc bad_put_user
- andl $0xffffe000,%ecx
- cmpl addr_limit(%ecx),%eax
- jae bad_put_user
-3: movl %edx,-3(%eax)
- xorl %eax,%eax
- ret
-
-bad_put_user:
- movl $-14,%eax
- ret
-
-.section __ex_table,"a"
- .long 1b,bad_put_user
- .long 2b,bad_put_user
- .long 3b,bad_put_user
-.previous
--- clean/arch/i386/kernel/i386_ksyms.c Tue Jun 5 21:37:20 2001
+++ linux/arch/i386/kernel/i386_ksyms.c Fri Jun 29 00:18:50 2001
@@ -90,9 +90,6 @@
EXPORT_SYMBOL_NOVERS(__get_user_1);
EXPORT_SYMBOL_NOVERS(__get_user_2);
EXPORT_SYMBOL_NOVERS(__get_user_4);
-EXPORT_SYMBOL_NOVERS(__put_user_1);
-EXPORT_SYMBOL_NOVERS(__put_user_2);
-EXPORT_SYMBOL_NOVERS(__put_user_4);
EXPORT_SYMBOL(strtok);
EXPORT_SYMBOL(strpbrk);
--- clean/include/asm-i386/uaccess.h Tue May 8 11:43:51 2001
+++ linux/include/asm-i386/uaccess.h Thu Jun 28 12:52:48 2001
@@ -129,12 +129,6 @@
extern void __put_user_bad(void);
-#define __put_user_x(size,ret,x,ptr) \
- __asm__ __volatile__("call __put_user_" #size \
- :"=a" (ret) \
- :"0" (ptr),"d" (x) \
- :"cx")
-
#define put_user(x,ptr) \
__put_user_check((__typeof__(*(ptr)))(x),(ptr),sizeof(*(ptr)))
-- I'm pavel@ucw.cz. "In my country we have almost anarchy and I don't care." Panos Katsaloulis describing me w.r.t. patents at discuss@linmodems.org - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/