Thayne Harbaugh wrote: > This is a rework of Stuart Anderson's strace patch. I've fixed > target-to-host and host-to-target syscall lookups so that the proper > host or target errno is returned.
It didn't build for me due to the a missing target_to_host_errno function. Could you also have a look at the compiler warnings from strace.c? I see e.g.: gcc-3.4 -Wall -O2 -g -fno-strict-aliasing -I. -I.. -I/home/ths/qemu/qemu-work/target-ppc -I/home/ths/qemu/qemu-work -I/home/ths/qemu/qemu-work/linux-user -I/home/ths/qemu/qemu-work/linux-user/ppc -D__powerpc__ -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/home/ths/qemu/qemu-work/fpu -DHAS_AUDIO -DHAS_AUDIO_CHOICE -I/home/ths/qemu/qemu-work/slirp -c -o strace.o /home/ths/qemu/qemu-work/linux-user/strace.c /home/ths/qemu/qemu-work/linux-user/strace.c: In function `print_newselect': /home/ths/qemu/qemu-work/linux-user/strace.c:111: warning: int format, long int arg (arg 3) /home/ths/qemu/qemu-work/linux-user/strace.c:112: warning: passing arg 2 of `print_fdset' makes pointer from integer without a cast /home/ths/qemu/qemu-work/linux-user/strace.c:114: warning: passing arg 2 of `print_fdset' makes pointer from integer without a cast /home/ths/qemu/qemu-work/linux-user/strace.c:116: warning: passing arg 2 of `print_fdset' makes pointer from integer without a cast /home/ths/qemu/qemu-work/linux-user/strace.c:118: warning: passing arg 1 of `print_timeval' makes pointer from integer without a cast /home/ths/qemu/qemu-work/linux-user/strace.c: In function `print_semctl': /home/ths/qemu/qemu-work/linux-user/strace.c:133: warning: int format, long int arg (arg 3) /home/ths/qemu/qemu-work/linux-user/strace.c:133: warning: int format, long int arg (arg 4) /home/ths/qemu/qemu-work/linux-user/strace.c:135: warning: format argument is not a pointer (arg 2) /home/ths/qemu/qemu-work/linux-user/strace.c: In function `print_execve': /home/ths/qemu/qemu-work/linux-user/strace.c:142: warning: initialization makes pointer from integer without a cast /home/ths/qemu/qemu-work/linux-user/strace.c:145: warning: format argument is not a pointer (arg 3) /home/ths/qemu/qemu-work/linux-user/strace.c: In function `print_ipc': /home/ths/qemu/qemu-work/linux-user/strace.c:164: warning: int format, long int arg (arg 3) /home/ths/qemu/qemu-work/linux-user/strace.c:164: warning: int format, long int arg (arg 4) /home/ths/qemu/qemu-work/linux-user/strace.c:164: warning: int format, long int arg (arg 5) /home/ths/qemu/qemu-work/linux-user/strace.c:164: warning: int format, long int arg (arg 6) /home/ths/qemu/qemu-work/linux-user/strace.c: In function `print_syscall_ret_addr': /home/ths/qemu/qemu-work/linux-user/strace.c:178: warning: unsigned int format, long int arg (arg 2) /home/ths/qemu/qemu-work/linux-user/strace.c: In function `print_syscall_ret_raw': /home/ths/qemu/qemu-work/linux-user/strace.c:185: warning: unsigned int format, long int arg (arg 2) /home/ths/qemu/qemu-work/linux-user/strace.c: In function `print_syscall_ret_newselect': /home/ths/qemu/qemu-work/linux-user/strace.c:191: warning: unsigned int format, long int arg (arg 2) /home/ths/qemu/qemu-work/linux-user/strace.c:192: warning: passing arg 2 of `print_fdset' makes pointer from integer without a cast /home/ths/qemu/qemu-work/linux-user/strace.c:194: warning: passing arg 2 of `print_fdset' makes pointer from integer without a cast /home/ths/qemu/qemu-work/linux-user/strace.c:196: warning: passing arg 2 of `print_fdset' makes pointer from integer without a cast /home/ths/qemu/qemu-work/linux-user/strace.c:198: warning: passing arg 1 of `print_timeval' makes pointer from integer without a cast /home/ths/qemu/qemu-work/linux-user/strace.c: In function `print_syscall': /home/ths/qemu/qemu-work/linux-user/strace.c:222: warning: implicit declaration of function `getpid' /home/ths/qemu/qemu-work/linux-user/strace.c: In function `print_syscall_ret': /home/ths/qemu/qemu-work/linux-user/strace.c:249: warning: int format, long int arg (arg 2) /home/ths/qemu/qemu-work/linux-user/strace.c:251: warning: int format, long int arg (arg 2) /home/ths/qemu/qemu-work/linux-user/strace.c: At top level: /home/ths/qemu/qemu-work/linux-user/strace.c:184: warning: 'print_syscall_ret_raw' defined but not used Thiemo