On 15 June 2014 16:33, Sean Bruno <sbr...@ignoranthack.me> wrote: > I think there's some confusion between the strace support for the new > print_sysarch() and the existing syscall do_freebsd_sysarch().
Only because you've put parts of both in the same patch :-) > If I follow the code, the existing do_freebsd_sysarch() syscall is a > programtical way of figuring out what arch is running. Whereas > print_sysarch() spams the arch into your strace output. The existing do_freebsd_sysarch() is a bunch of functions in syscall.c, with TARGET_* ifdefs selecting which one you get. This patch seems to be attempting to change that to having the per-arch implementations in the per-arch files. That's a good idea, but this patch is only doing half of the job -- you need to remove the old implementations and wire up the new. Really the changes to the implementation and to the strace support should go in separate patches. > Bearing that in mind, I think that the changes here are indeed correct > for this patchset. I still disagree here. Look at the TARGET_I386 implementation of do_freebsd_sysarch() in the existing syscall.c, and at the new function do_freebsd_arch_sysarch() you've added in this patch in bsd-user/x86_64/target_arch_sysarch.h. They're basically identical -- this should be a code-move change, but you've only got the 'add new version', not the 'and remove the old'. I think if you remove all the do_freebsd_arch_sysarch() functions from this patch you're left with just the strace support (the strace related functions all have 'print' in their names). thanks -- PMM