From patchwork Wed May 3 16:48:38 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anthony PERARD X-Patchwork-Id: 9710185 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 3F17560351 for ; Wed, 3 May 2017 16:49:28 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 30F9220952 for ; Wed, 3 May 2017 16:49:28 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 250F528306; Wed, 3 May 2017 16:49:28 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 12FBF20952 for ; Wed, 3 May 2017 16:49:25 +0000 (UTC) Received: from localhost ([::1]:37860 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d5xSu-0005Nu-NM for patchwork-qemu-devel@patchwork.kernel.org; Wed, 03 May 2017 12:49:24 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50728) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d5xSM-0005Nb-1K for qemu-devel@nongnu.org; Wed, 03 May 2017 12:48:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d5xSH-0005FR-45 for qemu-devel@nongnu.org; Wed, 03 May 2017 12:48:50 -0400 Received: from smtp02.citrix.com ([66.165.176.63]:42709) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1d5xSG-0005CT-UK for qemu-devel@nongnu.org; Wed, 03 May 2017 12:48:45 -0400 X-IronPort-AV: E=Sophos;i="5.38,284,1491264000"; d="scan'208";a="430768438" Date: Wed, 3 May 2017 17:48:38 +0100 From: Anthony PERARD To: Stefano Stabellini Message-ID: <20170503164838.GB1553@perard.uk.xensource.com> References: <03cfd81856554ecd91c0c317353e819b@AMSPEX02CL03.citrite.net> <51ac3ff38f464abfb98928e6fb959bf7@AMSPEX02CL03.citrite.net> <6738c7d96a1c476187f69616f25b28d1@AMSPEX02CL03.citrite.net> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.8.2 (2017-04-18) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 66.165.176.63 Subject: Re: [Qemu-devel] QEMU build breakage on ARM against Xen 4.9 caused by libxendevicemodel X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "xen-devel@lists.xenproject.org" , Paul Durrant , Wei Liu , "qemu-devel@nongnu.org" Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP On Thu, Apr 20, 2017 at 11:05:33AM -0700, Stefano Stabellini wrote: > On Thu, 20 Apr 2017, Paul Durrant wrote: > > I think xencall should be part of the base xen_stable_libs anyway. > > Yes, you are right. However I noticed that -lxencall needs to come after > -lxendevicemodel. So, I'll have to move -lxendevicemodel before > $xen_stable_libs, see below. I'll merge this patch into "configure: > detect presence of libxendevicemodel", if that's OK. > > diff --git a/configure b/configure > index 99d6cbc..3133ef8 100755 > --- a/configure > +++ b/configure > @@ -1992,7 +1992,7 @@ if test "$xen" != "no" ; then > else > > xen_libs="-lxenstore -lxenctrl -lxenguest" > - xen_stable_libs="-lxenforeignmemory -lxengnttab -lxenevtchn" > + xen_stable_libs="-lxencall -lxenforeignmemory -lxengnttab -lxenevtchn" > > # First we test whether Xen headers and libraries are available. > # If no, we are done and there is no Xen support. > @@ -2027,9 +2027,9 @@ int main(void) { > return 0; > } > EOF > - compile_prog "" "$xen_libs $xen_stable_libs -lxendevicemodel" > + compile_prog "" "$xen_libs -lxendevicemodel $xen_stable_libs" > then > - xen_stable_libs="$xen_stable_libs -lxendevicemodel" > + xen_stable_libs="-lxendevicemodel $xen_stable_libs" > xen_ctrl_version=40900 > xen=yes > elif Hey, now that this patch is merged, xen.git fail to build QEMU. (osstest qemu-mainline branch fail.) That's because -lxencall is not found because -L$path_to_libxencall is missing in xen.git. But I've notice something else, libxendevicemodel.so is not linked against libxencall, that might be the root of the issues on arm. (libxenctrl.so is linked against libxencall.) Thought? We probably need this patch in xen: diff --git a/tools/libs/devicemodel/Makefile b/tools/libs/devicemodel/Makefile index 55626a5049..81fa5a4ac4 100644 --- a/tools/libs/devicemodel/Makefile +++ b/tools/libs/devicemodel/Makefile @@ -63,7 +63,7 @@ libxendevicemodel.so.$(MAJOR): libxendevicemodel.so.$(MAJOR).$(MINOR) $(SYMLINK_SHLIB) $< $@ libxendevicemodel.so.$(MAJOR).$(MINOR): $(PIC_OBJS) libxendevicemodel.map - $(CC) $(LDFLAGS) $(PTHREAD_LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxendevicemodel.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $(PIC_OBJS) $(LDLIBS_libxentoollog) $(APPEND_LDFLAGS) + $(CC) $(LDFLAGS) $(PTHREAD_LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxendevicemodel.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $(PIC_OBJS) $(LDLIBS_libxentoollog) $(LDLIBS_libxencall) $(APPEND_LDFLAGS) .PHONY: install install: build