All of lore.kernel.org
 help / color / mirror / Atom feed
* [patch 2/3] x86_64: remove duplicated sys_time64
@ 2005-03-30 17:32 blaisorblade
  2005-03-31 10:38 ` Andi Kleen
  0 siblings, 1 reply; 6+ messages in thread
From: blaisorblade @ 2005-03-30 17:32 UTC (permalink / raw)
  To: torvalds; +Cc: akpm, linux-kernel, blaisorblade, ak


CC: Andi Kleen <ak@suse.de>

Keeping this function does not makes sense because it's a copied (and buggy)
copy of sys_time. The only difference is that now.tv_sec (which is a time_t,
i.e. a 64-bit long) is copied (and truncated) into a int (32-bit).

The prototype is the same (they both take a long __user *), so let's drop this
and redirect it to sys_time (and make sure it exists by defining
__ARCH_WANT_SYS_TIME).

Only disadvantage is that the sys_stime definition is also compiled (may be
fixed if needed by adding a separate __ARCH_WANT_SYS_STIME macro, and defining
it for all arch's defining __ARCH_WANT_SYS_TIME except x86_64).

Not compile-tested, sorry.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
---

 linux-2.6.11-paolo/arch/x86_64/kernel/sys_x86_64.c |   14 --------------
 linux-2.6.11-paolo/include/asm-x86_64/unistd.h     |    3 ++-
 2 files changed, 2 insertions(+), 15 deletions(-)

diff -puN include/asm-x86_64/unistd.h~x86_64-remove-sys-time-x86-64 include/asm-x86_64/unistd.h
--- linux-2.6.11/include/asm-x86_64/unistd.h~x86_64-remove-sys-time-x86-64	2005-03-29 17:39:38.000000000 +0200
+++ linux-2.6.11-paolo/include/asm-x86_64/unistd.h	2005-03-29 17:47:36.000000000 +0200
@@ -462,7 +462,7 @@ __SYSCALL(__NR_fremovexattr, sys_fremove
 #define __NR_tkill	200
 __SYSCALL(__NR_tkill, sys_tkill) 
 #define __NR_time      201
-__SYSCALL(__NR_time, sys_time64)
+__SYSCALL(__NR_time, sys_time)
 #define __NR_futex     202
 __SYSCALL(__NR_futex, sys_futex)
 #define __NR_sched_setaffinity    203
@@ -600,6 +600,7 @@ do { \
 #define __ARCH_WANT_SYS_SIGPENDING
 #define __ARCH_WANT_SYS_SIGPROCMASK
 #define __ARCH_WANT_SYS_RT_SIGACTION
+#define __ARCH_WANT_SYS_TIME
 #define __ARCH_WANT_COMPAT_SYS_TIME
 #endif
 
diff -puN arch/x86_64/kernel/sys_x86_64.c~x86_64-remove-sys-time-x86-64 arch/x86_64/kernel/sys_x86_64.c
--- linux-2.6.11/arch/x86_64/kernel/sys_x86_64.c~x86_64-remove-sys-time-x86-64	2005-03-29 17:39:38.000000000 +0200
+++ linux-2.6.11-paolo/arch/x86_64/kernel/sys_x86_64.c	2005-03-29 17:40:30.000000000 +0200
@@ -158,17 +158,3 @@ asmlinkage long wrap_sys_shmat(int shmid
 	unsigned long raddr;
 	return do_shmat(shmid,shmaddr,shmflg,&raddr) ?: (long)raddr;
 }
-
-asmlinkage long sys_time64(long __user * tloc)
-{
-	struct timeval now; 
-	int i; 
-
-	do_gettimeofday(&now);
-	i = now.tv_sec;
-	if (tloc) {
-		if (put_user(i,tloc))
-			i = -EFAULT;
-	}
-	return i;
-}
_

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2005-03-31 11:36 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-30 17:32 [patch 2/3] x86_64: remove duplicated sys_time64 blaisorblade
2005-03-31 10:38 ` Andi Kleen
2005-03-31 11:10   ` Stephen Rothwell
2005-03-31 11:12     ` Andi Kleen
2005-03-31 11:25       ` Stephen Rothwell
2005-03-31 11:36         ` Andi Kleen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.