qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [5022] Fix some warnings that would be generated by gcc


From: Jan Kiszka
Subject: [Qemu-devel] Re: [5022] Fix some warnings that would be generated by gcc -Wmissing-prototypes
Date: Fri, 22 Aug 2008 14:15:29 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666

Blue Swirl wrote:
> Revision: 5022
>           http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=5022
> Author:   blueswir1
> Date:     2008-08-17 20:26:25 +0000 (Sun, 17 Aug 2008)
> 
> Log Message:
> -----------
> Fix some warnings that would be generated by gcc -Wmissing-prototypes
> 

...

> Modified: trunk/linux-user/syscall.c
> ===================================================================
> --- trunk/linux-user/syscall.c        2008-08-17 20:21:51 UTC (rev 5021)
> +++ trunk/linux-user/syscall.c        2008-08-17 20:26:25 UTC (rev 5022)
> @@ -105,38 +105,38 @@
>  #undef _syscall6
>  
>  #define _syscall0(type,name)         \
> -type name (void)                     \
> +static type name (void)                      \
>  {                                    \
>       return syscall(__NR_##name);    \
>  }
>  
>  #define _syscall1(type,name,type1,arg1)              \
> -type name (type1 arg1)                               \
> +static type name (type1 arg1)                        \
>  {                                            \
>       return syscall(__NR_##name, arg1);      \
>  }
>  
>  #define _syscall2(type,name,type1,arg1,type2,arg2)   \
> -type name (type1 arg1,type2 arg2)                    \
> +static type name (type1 arg1,type2 arg2)             \
>  {                                                    \
>       return syscall(__NR_##name, arg1, arg2);        \
>  }
>  
>  #define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3)        \
> -type name (type1 arg1,type2 arg2,type3 arg3)                 \
> +static type name (type1 arg1,type2 arg2,type3 arg3)          \
>  {                                                            \
>       return syscall(__NR_##name, arg1, arg2, arg3);          \
>  }
>  
>  #define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4)     
> \
> -type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4)                      
>         \
> +static type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4)               
>         \
>  {                                                                            
> \
>       return syscall(__NR_##name, arg1, arg2, arg3, arg4);                    
> \
>  }
>  
>  #define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,     
> \
>                 type5,arg5)                                                   
> \
> -type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5)           
> \
> +static type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5)    
> \
>  {                                                                            
> \
>       return syscall(__NR_##name, arg1, arg2, arg3, arg4, arg5);              
> \
>  }
> @@ -144,7 +144,8 @@
>  
>  #define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,     
> \
>                 type5,arg5,type6,arg6)                                        
> \
> -type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5,type6 
> arg6)        \
> +static type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5,    
> \
> +                  type6 arg6)                                                
>         \
>  {                                                                            
> \
>       return syscall(__NR_##name, arg1, arg2, arg3, arg4, arg5, arg6);        
> \
>  }
> @@ -204,8 +205,10 @@
>  _syscall3(int, sys_getdents64, uint, fd, struct dirent64 *, dirp, uint, 
> count);
>  #endif
>  _syscall2(int, sys_getpriority, int, which, int, who);
> +#if !defined (__x86_64__)
>  _syscall5(int, _llseek,  uint,  fd, ulong, hi, ulong, lo,
>            loff_t *, res, uint, wh);
> +#endif
>  #if defined(TARGET_NR_linkat) && defined(__NR_linkat)
>  _syscall5(int,sys_linkat,int,olddirfd,const char *,oldpath,
>         int,newdirfd,const char *,newpath,int,flags)
> @@ -253,11 +256,12 @@
>  _syscall4(int,sys_utimensat,int,dirfd,const char *,pathname,
>            const struct timespec *,tsp,int,flags)
>  #endif
> +#if defined(USE_NPTL)
>  #if defined(TARGET_NR_futex) && defined(__NR_futex)
>  _syscall6(int,sys_futex,int *,uaddr,int,op,int,val,
>            const struct timespec *,timeout,int *,uaddr2,int,val3)
> -          
>  #endif
> +#endif
>  
>  extern int personality(int);
>  extern int flock(int, int);
> @@ -2522,8 +2526,8 @@
>  }
>  
>  /* specific and weird i386 syscalls */
> -abi_long do_modify_ldt(CPUX86State *env, int func, abi_ulong ptr, 
> -                       unsigned long bytecount)
> +static abi_long do_modify_ldt(CPUX86State *env, int func, abi_ulong ptr,
> +                              unsigned long bytecount)
>  {
>      abi_long ret;
>  
> @@ -2544,7 +2548,7 @@
>      return ret;
>  }
>  
> -abi_long do_set_thread_area(CPUX86State *env, abi_ulong ptr)
> +static abi_long do_set_thread_area(CPUX86State *env, abi_ulong ptr)
>  {
>      uint64_t *gdt_table = g2h(env->gdt.base);
>      struct target_modify_ldt_ldt_s ldt_info;
> @@ -2629,7 +2633,7 @@
>      return 0;
>  }
>  
> -abi_long do_get_thread_area(CPUX86State *env, abi_ulong ptr)
> +static abi_long do_get_thread_area(CPUX86State *env, abi_ulong ptr)
>  {
>      struct target_modify_ldt_ldt_s *target_ldt_info;
>      uint64_t *gdt_table = g2h(env->gdt.base);
> @@ -2677,7 +2681,7 @@
>  }
>  
>  #ifndef TARGET_ABI32
> -abi_long do_arch_prctl(CPUX86State *env, int code, abi_ulong addr)
> +static abi_long do_arch_prctl(CPUX86State *env, int code, abi_ulong addr)
>  {
>      abi_long ret;
>      abi_ulong val;
> @@ -3150,8 +3154,8 @@
>     futexes locally would make futexes shared between multiple processes
>     tricky.  However they're probably useless because guest atomic
>     operations won't work either.  */
> -int do_futex(target_ulong uaddr, int op, int val, target_ulong timeout,
> -             target_ulong uaddr2, int val3)
> +static int do_futex(target_ulong uaddr, int op, int val, target_ulong 
> timeout,
> +                    target_ulong uaddr2, int val3)
>  {
>      struct timespec ts, *pts;
>  
> 

To make syscall.c for 64 bit truly warning-free, we need some more #ifs.

Signed-off-by: Jan Kiszka <address@hidden>
---
 linux-user/syscall.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Index: b/linux-user/syscall.c
===================================================================
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -195,12 +195,14 @@ _syscall4(int,sys_faccessat,int,dirfd,co
 _syscall4(int,sys_fchmodat,int,dirfd,const char *,pathname,
           mode_t,mode,int,flags)
 #endif
-#if defined(TARGET_NR_fchownat) && defined(__NR_fchownat)
+#if defined(TARGET_NR_fchownat) && defined(__NR_fchownat) && defined(USE_UID16)
 _syscall5(int,sys_fchownat,int,dirfd,const char *,pathname,
           uid_t,owner,gid_t,group,int,flags)
 #endif
 _syscall2(int,sys_getcwd1,char *,buf,size_t,size)
+#if TARGET_ABI_BITS == 32
 _syscall3(int, sys_getdents, uint, fd, struct dirent *, dirp, uint, count);
+#endif
 #if defined(TARGET_NR_getdents64) && defined(__NR_getdents64)
 _syscall3(int, sys_getdents64, uint, fd, struct dirent64 *, dirp, uint, count);
 #endif
@@ -2548,6 +2550,7 @@ static abi_long do_modify_ldt(CPUX86Stat
     return ret;
 }
 
+#if defined(TARGET_I386) && defined(TARGET_ABI32)
 static abi_long do_set_thread_area(CPUX86State *env, abi_ulong ptr)
 {
     uint64_t *gdt_table = g2h(env->gdt.base);
@@ -2679,6 +2682,7 @@ static abi_long do_get_thread_area(CPUX8
     unlock_user_struct(target_ldt_info, ptr, 1);
     return 0;
 }
+#endif /* TARGET_I386 && TARGET_ABI32 */
 
 #ifndef TARGET_ABI32
 static abi_long do_arch_prctl(CPUX86State *env, int code, abi_ulong addr)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]