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)
prev parent 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).