[Top][All Lists]
[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)