Browse Source

printf format fix

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3645 c046a42c-6fe2-441c-8c8c-71466251a162
bellard 18 years ago
parent
commit
6b23f77722
1 changed files with 3 additions and 1 deletions
  1. 3 1
      linux-user/strace.c

+ 3 - 1
linux-user/strace.c

@@ -271,7 +271,7 @@ print_syscall(int num,
               abi_long arg4, abi_long arg5, abi_long arg6)
 {
     int i;
-    char *format="%s(%ld,%ld,%ld,%ld,%ld,%ld)";
+    char *format="%s(" TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld ")";
 
     gemu_log("%d ", getpid() );
 
@@ -280,6 +280,8 @@ print_syscall(int num,
             if( scnames[i].call != NULL ) {
                 scnames[i].call(&scnames[i],arg1,arg2,arg3,arg4,arg5,arg6);
             } else {
+                /* XXX: this format system is broken because it uses
+                   host types and host pointers for strings */
                 if( scnames[i].format != NULL )
                     format = scnames[i].format;
                 gemu_log(format,scnames[i].name, arg1,arg2,arg3,arg4,arg5,arg6);