All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michael Tokarev <mjt@tls.msk.ru>,
	QEMU Developers <qemu-devel@nongnu.org>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	"open list:X86" <xen-devel@lists.xenproject.org>
Subject: Re: [Qemu-devel] [PATCH 09/21] configure: use pkg-config for obtaining xen version
Date: Tue, 11 Dec 2018 10:43:42 +0000	[thread overview]
Message-ID: <20181211104342.GD921@redhat.com> (raw)
In-Reply-To: <CAFEAcA9RvgJ=6Eje1O6VEOX5S1qLnu5R_Pwbe4QAvPB4y-Zy4Q@mail.gmail.com>

On Tue, Dec 11, 2018 at 10:34:52AM +0000, Peter Maydell wrote:
> On Tue, 25 Apr 2017 at 19:35, Stefano Stabellini <sstabellini@kernel.org> wrote:
> >
> > From: Juergen Gross <jgross@suse.com>
> >
> > Instead of trying to guess the Xen version to use by compiling various
> > test programs first just ask the system via pkg-config. Only if it
> > can't return the version fall back to the test program scheme.
> >
> > If configure is being called with dedicated flags for the Xen libraries
> > use those instead of the pkg-config output. This will avoid breaking
> > an in-tree Xen build of an old Xen version while a new Xen version is
> > installed on the build machine: pkg-config would pick up the installed
> > Xen config files as the Xen tree wouldn't contain any of them.
> >
> > Signed-off-by: Juergen Gross <jgross@suse.com>
> > Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
> > Tested-by: Paul Durrant <paul.durrant@citrix.com>
> > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> > ---
> >  configure | 159 ++++++++++++++++++++++++++++++++++----------------------------
> >  1 file changed, 88 insertions(+), 71 deletions(-)
> >
> > diff --git a/configure b/configure
> > index 271bea8..3133ef8 100755
> > --- a/configure
> > +++ b/configure
> > @@ -1975,30 +1975,46 @@ fi
> >  # xen probe
> >
> >  if test "$xen" != "no" ; then
> > -  xen_libs="-lxenstore -lxenctrl -lxenguest"
> > -  xen_stable_libs="-lxencall -lxenforeignmemory -lxengnttab -lxenevtchn"
> > +  # Check whether Xen library path is specified via --extra-ldflags to avoid
> > +  # overriding this setting with pkg-config output. If not, try pkg-config
> > +  # to obtain all needed flags.
> > +
> > +  if ! echo $EXTRA_LDFLAGS | grep tools/libxc > /dev/null && \
> > +     $pkg_config --exists xencontrol ; then
> > +    xen_ctrl_version="$(printf '%d%02d%02d' \
> > +      $($pkg_config --modversion xencontrol | sed 's/\./ /g') )"
> > +    xen=yes
> > +    xen_pc="xencontrol xenstore xenguest xenforeignmemory xengnttab"
> > +    xen_pc="$xen_pc xenevtchn xendevicemodel"
> > +    QEMU_CFLAGS="$QEMU_CFLAGS $($pkg_config --cflags $xen_pc)"
> > +    libs_softmmu="$($pkg_config --libs $xen_pc) $libs_softmmu"
> > +    LDFLAGS="$($pkg_config --libs $xen_pc) $LDFLAGS"
> > +  else
> 
> Hi -- this is an old patch, but MJT has just noticed that
> it means that (assuming configure takes the "we have a pkg-config
> for Xen" path) the Xen libraries get added to both libs_softmmu
> and LDFLAGS, which means that everything, including the linux-user
> binaries, gets linked against them. The old fallback path
> only adds them to libs_softmmu.
> 
> Juergen: is there a reason why you added the libs to both
> libs_softmmu and LDFLAGS here? Can we just delete the line
> that alters LDFLAGS?

In the 'else' block that takes the non-pkg-config path, the libs are
only added to "libs_softmmu". So I think removing LDFLAGS is right.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

WARNING: multiple messages have this Message-ID (diff)
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Juergen Gross <jgross@suse.com>, Michael Tokarev <mjt@tls.msk.ru>,
	QEMU Developers <qemu-devel@nongnu.org>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	"open list:X86" <xen-devel@lists.xenproject.org>
Subject: Re: [Qemu-devel] [PATCH 09/21] configure: use pkg-config for obtaining xen version
Date: Tue, 11 Dec 2018 10:43:42 +0000	[thread overview]
Message-ID: <20181211104342.GD921@redhat.com> (raw)
In-Reply-To: <CAFEAcA9RvgJ=6Eje1O6VEOX5S1qLnu5R_Pwbe4QAvPB4y-Zy4Q@mail.gmail.com>

On Tue, Dec 11, 2018 at 10:34:52AM +0000, Peter Maydell wrote:
> On Tue, 25 Apr 2017 at 19:35, Stefano Stabellini <sstabellini@kernel.org> wrote:
> >
> > From: Juergen Gross <jgross@suse.com>
> >
> > Instead of trying to guess the Xen version to use by compiling various
> > test programs first just ask the system via pkg-config. Only if it
> > can't return the version fall back to the test program scheme.
> >
> > If configure is being called with dedicated flags for the Xen libraries
> > use those instead of the pkg-config output. This will avoid breaking
> > an in-tree Xen build of an old Xen version while a new Xen version is
> > installed on the build machine: pkg-config would pick up the installed
> > Xen config files as the Xen tree wouldn't contain any of them.
> >
> > Signed-off-by: Juergen Gross <jgross@suse.com>
> > Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
> > Tested-by: Paul Durrant <paul.durrant@citrix.com>
> > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> > ---
> >  configure | 159 ++++++++++++++++++++++++++++++++++----------------------------
> >  1 file changed, 88 insertions(+), 71 deletions(-)
> >
> > diff --git a/configure b/configure
> > index 271bea8..3133ef8 100755
> > --- a/configure
> > +++ b/configure
> > @@ -1975,30 +1975,46 @@ fi
> >  # xen probe
> >
> >  if test "$xen" != "no" ; then
> > -  xen_libs="-lxenstore -lxenctrl -lxenguest"
> > -  xen_stable_libs="-lxencall -lxenforeignmemory -lxengnttab -lxenevtchn"
> > +  # Check whether Xen library path is specified via --extra-ldflags to avoid
> > +  # overriding this setting with pkg-config output. If not, try pkg-config
> > +  # to obtain all needed flags.
> > +
> > +  if ! echo $EXTRA_LDFLAGS | grep tools/libxc > /dev/null && \
> > +     $pkg_config --exists xencontrol ; then
> > +    xen_ctrl_version="$(printf '%d%02d%02d' \
> > +      $($pkg_config --modversion xencontrol | sed 's/\./ /g') )"
> > +    xen=yes
> > +    xen_pc="xencontrol xenstore xenguest xenforeignmemory xengnttab"
> > +    xen_pc="$xen_pc xenevtchn xendevicemodel"
> > +    QEMU_CFLAGS="$QEMU_CFLAGS $($pkg_config --cflags $xen_pc)"
> > +    libs_softmmu="$($pkg_config --libs $xen_pc) $libs_softmmu"
> > +    LDFLAGS="$($pkg_config --libs $xen_pc) $LDFLAGS"
> > +  else
> 
> Hi -- this is an old patch, but MJT has just noticed that
> it means that (assuming configure takes the "we have a pkg-config
> for Xen" path) the Xen libraries get added to both libs_softmmu
> and LDFLAGS, which means that everything, including the linux-user
> binaries, gets linked against them. The old fallback path
> only adds them to libs_softmmu.
> 
> Juergen: is there a reason why you added the libs to both
> libs_softmmu and LDFLAGS here? Can we just delete the line
> that alters LDFLAGS?

In the 'else' block that takes the non-pkg-config path, the libs are
only added to "libs_softmmu". So I think removing LDFLAGS is right.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

  reply	other threads:[~2018-12-11 10:43 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-25 18:34 [Qemu-devel] [PULL 0/21] Please pull xen-20170421-v2-tag for 2.10 Stefano Stabellini
2017-04-25 18:34 ` Stefano Stabellini
2017-04-25 18:34 ` [Qemu-devel] [PATCH 01/21] xen: make use of xen_xc implicit in xen_common.h inlines Stefano Stabellini
2017-04-25 18:34   ` Stefano Stabellini
2017-04-25 18:34   ` [Qemu-devel] [PATCH 02/21] xen: rename xen_modified_memory() to xen_hvm_modified_memory() Stefano Stabellini
2017-04-25 18:34     ` Stefano Stabellini
2017-04-25 18:34   ` [Qemu-devel] [PATCH 03/21] xen: create wrappers for all other uses of xc_hvm_XXX() functions Stefano Stabellini
2017-04-25 18:34     ` Stefano Stabellini
2017-04-25 18:34   ` [Qemu-devel] [PATCH 04/21] configure: detect presence of libxendevicemodel Stefano Stabellini
2017-04-25 18:34     ` Stefano Stabellini
2017-04-25 18:34   ` [Qemu-devel] [PATCH 05/21] xen: use libxendevicemodel when available Stefano Stabellini
2017-04-25 18:34     ` Stefano Stabellini
2017-04-25 18:34   ` [Qemu-devel] [PATCH 06/21] xen: use 5 digit xen versions Stefano Stabellini
2017-04-25 18:34     ` Stefano Stabellini
2017-04-25 18:34   ` [Qemu-devel] [PATCH 07/21] xen: use libxendevice model to restrict operations Stefano Stabellini
2017-04-25 18:34     ` Stefano Stabellini
2017-04-25 18:35   ` [Qemu-devel] [PATCH 08/21] xen: additionally restrict xenforeignmemory operations Stefano Stabellini
2017-04-25 18:35     ` Stefano Stabellini
2017-04-25 18:35   ` [Qemu-devel] [PATCH 09/21] configure: use pkg-config for obtaining xen version Stefano Stabellini
2017-04-25 18:35     ` Stefano Stabellini
2018-12-11 10:34     ` Peter Maydell
2018-12-11 10:34       ` [Qemu-devel] " Peter Maydell
2018-12-11 10:43       ` Daniel P. Berrangé [this message]
2018-12-11 10:43         ` Daniel P. Berrangé
2019-01-02 21:21       ` Stefano Stabellini
2019-01-02 21:21         ` [Qemu-devel] " Stefano Stabellini
2017-04-25 18:35   ` [Qemu-devel] [PATCH 10/21] xen: import ring.h from xen Stefano Stabellini
2017-04-25 18:35     ` Stefano Stabellini
2017-04-26  1:52     ` [Qemu-devel] " Philippe Mathieu-Daudé
2017-04-26  1:52       ` Philippe Mathieu-Daudé
2017-04-25 18:35   ` [Qemu-devel] [PATCH 11/21] 9p: introduce a type for the 9p header Stefano Stabellini
2017-04-25 18:35     ` Stefano Stabellini
2017-04-25 18:35   ` [Qemu-devel] [PATCH 12/21] xen/9pfs: introduce Xen 9pfs backend Stefano Stabellini
2017-04-25 18:35     ` Stefano Stabellini
2017-04-25 18:35   ` [Qemu-devel] [PATCH 13/21] xen/9pfs: connect to the frontend Stefano Stabellini
2017-04-25 18:35     ` Stefano Stabellini
2017-04-25 18:35   ` [Qemu-devel] [PATCH 14/21] xen/9pfs: receive requests from " Stefano Stabellini
2017-04-25 18:35     ` Stefano Stabellini
2017-04-25 18:35   ` [Qemu-devel] [PATCH 15/21] xen/9pfs: implement in/out_iov_from_pdu and vmarshal/vunmarshal Stefano Stabellini
2017-04-25 18:35     ` Stefano Stabellini
2017-04-25 18:35   ` [Qemu-devel] [PATCH 16/21] xen/9pfs: send responses back to the frontend Stefano Stabellini
2017-04-25 18:35     ` Stefano Stabellini
2017-04-25 18:35   ` [Qemu-devel] [PATCH 17/21] xen/9pfs: build and register Xen 9pfs backend Stefano Stabellini
2017-04-25 18:35     ` Stefano Stabellini
2017-04-25 18:35   ` [Qemu-devel] [PATCH 18/21] add xen-9p-backend to MAINTAINERS under Xen Stefano Stabellini
2017-04-25 18:35     ` Stefano Stabellini
2017-04-25 18:35   ` [Qemu-devel] [PATCH 19/21] move xen-common.c to hw/xen/ Stefano Stabellini
2017-04-25 18:35     ` Stefano Stabellini
2017-04-25 18:35   ` [Qemu-devel] [PATCH 20/21] move xen-hvm.c to hw/i386/xen/ Stefano Stabellini
2017-04-25 18:35     ` Stefano Stabellini
2017-04-25 18:35   ` [Qemu-devel] [PATCH 21/21] move xen-mapcache.c " Stefano Stabellini
2017-04-25 18:35     ` Stefano Stabellini
2017-04-26 10:39 ` [Qemu-devel] [PULL 0/21] Please pull xen-20170421-v2-tag for 2.10 Peter Maydell
2017-04-26 10:39   ` Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181211104342.GD921@redhat.com \
    --to=berrange@redhat.com \
    --cc=anthony.perard@citrix.com \
    --cc=jgross@suse.com \
    --cc=mjt@tls.msk.ru \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=sstabellini@kernel.org \
    --cc=stefanha@redhat.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.