[PATCH] Wire up *at syscalls

Arnd Bergmann arnd at arndb.de
Tue Apr 25 09:31:21 EST 2006


Am Tuesday 25 April 2006 00:43 schrieb Andreas Schwab:
> Index: linux-2.6.17-rc2-git5/arch/powerpc/platforms/cell/spu_callbacks.c
> ===================================================================
> ---
> linux-2.6.17-rc2-git5.orig/arch/powerpc/platforms/cell/spu_callbacks.c     
> 2006-04-24 16:24:47.000000000 +0200 +++
> linux-2.6.17-rc2-git5/arch/powerpc/platforms/cell/spu_callbacks.c   2006-04
>-24 18:07:59.000000000 +0200 @@ -318,6 +318,19 @@ void *spu_syscall_table[]
> = {
>         [__NR_unshare]                  sys_unshare,
>         [__NR_splice]                   sys_splice,
>         [__NR_tee]                      sys_tee,
> +       [__NR_openat]                   sys_openat,
> +       [__NR_mkdirat]                  sys_mkdirat,
> +       [__NR_mknodat]                  sys_mknodat,
> +       [__NR_fchownat]                 sys_fchownat,
> +       [__NR_futimesat]                sys_futimesat,
> +       [__NR_newfstatat]               sys_newfstatat,
> +       [__NR_unlinkat]                 sys_unlinkat,
> +       [__NR_renameat]                 sys_renameat,
> +       [__NR_linkat]                   sys_linkat,
> +       [__NR_symlinkat]                sys_symlinkat,
> +       [__NR_readlinkat]               sys_readlinkat,
> +       [__NR_fchmodat]                 sys_fchmodat,
> +       [__NR_faccessat]                sys_faccessat,
>  };
>  

The spu parts look fine, thanks.

>  long spu_sys_callback(struct spu_syscall_block *s)
> Index: linux-2.6.17-rc2-git5/fs/stat.c
> ===================================================================
> --- linux-2.6.17-rc2-git5.orig/fs/stat.c        2006-04-24
> 18:05:23.000000000 +0200 +++ linux-2.6.17-rc2-git5/fs/stat.c     2006-04-24
> 18:05:44.000000000 +0200 @@ -261,7 +261,6 @@ asmlinkage long
> sys_newlstat(char __user
>         return error;
>  }
>  
> -#ifndef __ARCH_WANT_STAT64
>  asmlinkage long sys_newfstatat(int dfd, char __user *filename,
>                                 struct stat __user *statbuf, int flag)
>  {
> @@ -282,7 +281,6 @@ asmlinkage long sys_newfstatat(int dfd,
>  out:
>         return error;
>  }
> -#endif
>  
>  asmlinkage long sys_newfstat(unsigned int fd, struct stat __user *statbuf)
>  {

Simply removing the #ifdef looks wrong. AFAICT, powerpc and ia64 are the
only ones that want both sys_newfstatat and sys_fstatat64, maybe you
can simply do 

#if !defined(__ARCH_WANT_STAT64) || defined(__ARCH_WANT_NEWSTATFSAT)

	Arnd <><


More information about the Linuxppc-dev mailing list