qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@siemens.com>
To: qemu-devel@nongnu.org
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	[thread overview]
Message-ID: <48AEADE1.10204@siemens.com> (raw)
In-Reply-To: <E1KUopV-0004sX-LG@cvs.savannah.gnu.org>

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 <jan.kiszka@siemens.com>
---
 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	other threads:[~2008-08-22 12:15 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-17 20:26 [Qemu-devel] [5022] Fix some warnings that would be generated by gcc -Wmissing-prototypes Blue Swirl
2008-08-22 12:15 ` Jan Kiszka [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48AEADE1.10204@siemens.com \
    --to=jan.kiszka@siemens.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).