On Sun, 2014-06-15 at 20:20 +0100, Peter Maydell wrote: > 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 :-) >
Oh, I didn't say *where* the confusion was. It is most definitely on my side. :-) > > 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 Ok, more staring required. sean