From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43243) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YV0JL-0005Gz-42 for qemu-devel@nongnu.org; Mon, 09 Mar 2015 12:13:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YV0JK-0004lI-67 for qemu-devel@nongnu.org; Mon, 09 Mar 2015 12:13:43 -0400 Received: from mx1.redhat.com ([209.132.183.28]:52981) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YV0JJ-0004lC-TS for qemu-devel@nongnu.org; Mon, 09 Mar 2015 12:13:42 -0400 Message-ID: <54FDC6A8.8080901@redhat.com> Date: Mon, 09 Mar 2015 17:13:28 +0100 From: Paolo Bonzini MIME-Version: 1.0 References: <1425912873-21215-1-git-send-email-wei.liu2@citrix.com> In-Reply-To: <1425912873-21215-1-git-send-email-wei.liu2@citrix.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH RFC] Makefile.target: prepend $libs_softmmu to $LIBS List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Wei Liu , qemu-devel@nongnu.org Cc: stefano.stabellini@eu.citrix.com On 09/03/2015 15:54, Wei Liu wrote: > I discovered a problem when trying to build QEMU statically with gcc. > libm is an element of LIBS while libpixman-1 is an element in > libs_softmmu. Libpixman references functions in libm, so the original > ordering makes linking fail. > > This fix is to reorder $libs_softmmu and $LIBS to make -lm appear after > -lpixman-1. However I'm not quite sure if this is the right fix, hence > the RFC tag. That's a bug in pixman: $ pkg-config --libs --static pixman-1 -lpixman-1 It should have included -lm as well. However, I think I'm okay with this patch. There's nothing fundamentally wrong with it, and running modern QEMU as stubdom is definitely a valuable usecase. Paolo > Normally QEMU is built with c++ compiler which happens to link in libm > (at least this is the case with g++), so building QEMU statically > normally just works and nobody notices this issue. > > Signed-off-by: Wei Liu > --- > Makefile.target | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/Makefile.target b/Makefile.target > index 2262d89..1083377 100644 > --- a/Makefile.target > +++ b/Makefile.target > @@ -134,7 +134,7 @@ obj-$(CONFIG_KVM) += kvm-all.o > obj-y += memory.o savevm.o cputlb.o > obj-y += memory_mapping.o > obj-y += dump.o > -LIBS+=$(libs_softmmu) > +LIBS := $(libs_softmmu) $(LIBS) > > # xen support > obj-$(CONFIG_XEN) += xen-common.o >