On Sun, Oct 17, 2021 at 11:26 PM Kyle Evans <kev...@freebsd.org> wrote:

> On Mon, Oct 18, 2021 at 12:02 AM Warner Losh <i...@bsdimp.com> wrote:
> >
> >
> >
> > On Sun, Oct 17, 2021 at 10:29 PM Warner Losh <i...@bsdimp.com> wrote:
> >>
> >>
> >>
> >> On Sun, Oct 17, 2021 at 9:43 PM Kyle Evans <kev...@freebsd.org> wrote:
> >>>
> >>> On Fri, Oct 8, 2021 at 6:15 PM Warner Losh <i...@bsdimp.com> wrote:
> >>> >
> >>> > To increase flexibility, only descend into *-user when that is
> >>> > configured. This allows *-user to selectively include directories
> based
> >>> > on the host OS which may not exist on all hosts. Adopt Paolo's
> >>> > suggestion of checking the configuration in the directories that know
> >>> > about the configuration.
> >>> >
> >>> > Message-Id: <20210926220103.1721355-2-f4...@amsat.org>
> >>> > Message-Id: <20210926220103.1721355-3-f4...@amsat.org>
> >>> > Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org>
> >>> > Signed-off-by: Warner Losh <wl...@bsdimp.com>
> >>> > Acked-by: Paolo Bonzini <pbonzi...@redhat.com>
> >>> >
> >>> > Sponsored by:           Netflix
> >>> > ---
> >>> >  bsd-user/meson.build   | 4 ++++
> >>> >  linux-user/meson.build | 4 ++++
> >>> >  meson.build            | 3 +--
> >>> >  3 files changed, 9 insertions(+), 2 deletions(-)
> >>> >
> >>> > diff --git a/bsd-user/meson.build b/bsd-user/meson.build
> >>> > index 0369549340..243fb78930 100644
> >>> > --- a/bsd-user/meson.build
> >>> > +++ b/bsd-user/meson.build
> >>> > @@ -1,3 +1,7 @@
> >>> > +if not config_target.has_key('CONFIG_BSD_USER')
> >>> > +   subdir_done()
> >>> > +endif
> >>> > +
> >>> >  bsd_user_ss.add(files(
> >>> >    'bsdload.c',
> >>> >    'elfload.c',
> >>> > diff --git a/linux-user/meson.build b/linux-user/meson.build
> >>> > index 9549f81682..602255a3d6 100644
> >>> > --- a/linux-user/meson.build
> >>> > +++ b/linux-user/meson.build
> >>> > @@ -1,3 +1,7 @@
> >>> > +if not config_target.has_key('CONFIG_LINUX_USER')
> >>> > +   subdir_done()
> >>> > +endif
> >>> > +
> >>> >  linux_user_ss.add(files(
> >>> >    'elfload.c',
> >>> >    'exit.c',
> >>> > diff --git a/meson.build b/meson.build
> >>> > index 99a0a3e689..1f2da5f7d9 100644
> >>> > --- a/meson.build
> >>> > +++ b/meson.build
> >>> > @@ -2303,10 +2303,9 @@ subdir('ebpf')
> >>> >
> >>> >  common_ss.add(libbpf)
> >>> >
> >>> > -bsd_user_ss.add(files('gdbstub.c'))
> >>> >  specific_ss.add_all(when: 'CONFIG_BSD_USER', if_true: bsd_user_ss)
> >>> >
> >>> > -linux_user_ss.add(files('gdbstub.c', 'thunk.c'))
> >>> > +linux_user_ss.add(files('thunk.c'))
> >>> >  specific_ss.add_all(when: 'CONFIG_LINUX_USER', if_true:
> linux_user_ss)
> >>> >
> >>> >  # needed for fuzzing binaries
> >>> > --
> >>> > 2.32.0
> >>> >
> >>>
> >>> I don't understand the gdbstub.c removal  here; don't we still want to
> >>> be compiling it in, just only if the appropriate
> >>> CONFIG_{BSD,LINUX}_USER knob is set? I note that it doesn't appear to
> >>> be added in individual *-user/meson.build, I assume it's uncommon to
> >>> add in ../foo.c in meson-land...
> >>
> >>
> >> It's added to specific_ss at line 2536
> >> specific_ss.add(files('cpu.c', 'disas.c', 'gdbstub.c'), capstone)
> >>
> >> so we don't need to add it again here.
> >
> >
> > I've also confirmed that it's built as both
> libqemu-i386-bsd-user.fa.p/gdbstub.c.o
> > and libqemu-x86_64-bsd-user.fa.p/gdbstub.c.o, which is what I'd expect
> given
> > the current upstream supported architectures are only i386 and x86_64.
> >
> > Warner
>
> Ah, ok, thanks! So that looks like a kind-of tangential cleanup, but
> related enough that it makes sense.
>

Yes. Paolo suggested it to further clean things up. Plus it had to be done
at the top level of meson.build rather than the subdirectories because
that's where gdbstub.c lived. I had to also introduce the have_bsd_user
and have_linux_user variables because we had to note that in one context
and use it in another context where the info was otherwise hard to get
at from Philippe's original patch.


> Reviewed-by: Kyle Evans <kev...@freebsd.org>
>

Thanks!

Warner

Reply via email to