From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39114) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WwXmS-0006ek-GK for qemu-devel@nongnu.org; Mon, 16 Jun 2014 10:21:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WwXmL-0006e9-QV for qemu-devel@nongnu.org; Mon, 16 Jun 2014 10:21:04 -0400 Received: from ignoranthack.me ([199.102.79.106]:59023 helo=mail.ignoranthack.me) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WwXmL-0006e0-M9 for qemu-devel@nongnu.org; Mon, 16 Jun 2014 10:20:57 -0400 From: Sean Bruno In-Reply-To: <539EFC0A.2070201@redhat.com> References: <1402865252-25671-1-git-send-email-sbruno@freebsd.org> <1402865252-25671-2-git-send-email-sbruno@freebsd.org> <20140616091227.GF1943@T430.nay.redhat.com> <539EC217.9070909@redhat.com> <1402926920.16961.1.camel@bruno> <1402927131.16961.2.camel@bruno> <539EFC0A.2070201@redhat.com> Content-Type: text/plain; charset="us-ascii" Date: Mon, 16 Jun 2014 07:20:54 -0700 Message-ID: <1402928454.16961.4.camel@bruno> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 1/3 v2] bsd-user: Revert part of update to rules.mk Reply-To: sbruno@freebsd.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: Fam Zheng , QEMU Developers On Mon, 2014-06-16 at 16:15 +0200, Paolo Bonzini wrote: > Il 16/06/2014 15:58, Sean Bruno ha scritto: > > On Mon, 2014-06-16 at 06:55 -0700, Sean Bruno wrote: > >>>> Sean, could you show the configure command line? > >>> > >>> Also please attach the "make V=1" output and config-host.mak file. > >>> > >>> Paolo > >>> > >>> > >> > >> I'm using: > >> > >> ./configure --static --target-list="i386-bsd-user sparc-bsd-user > >> sparc64-bsd-user x86_64-bsd-user" > >> > >> Log: > >> http://people.freebsd.org/~sbruno/qemu_build_fail.txt > >> > >> sean > >> > >> > > > > Also, configure output > > > > http://people.freebsd.org/~sbruno/qemu_user_configure.txt > > So this is happening because the $(sort) removes the ordering between > libraries and breaks static linking. Your patch likely does nothing > except adding more copies of the libraries, which lets the linker work. > > The executable that breaks is qemu-nbd, which I suspect you couldn't > care less about. > > The bug remains, and ought to be fixed, probably like this: > > diff --git a/rules.mak b/rules.mak > index dde8e00..50b305e 100644 > --- a/rules.mak > +++ b/rules.mak > @@ -22,7 +22,7 @@ QEMU_DGFLAGS += -MMD -MP -MT $@ -MF $(*D)/$(*F).d > # Same as -I$(SRC_PATH) -I., but for the nested source/object directories > QEMU_INCLUDES += -I$( > -extract-libs = $(strip $(sort $(foreach o,$1,$($o-libs)))) > +extract-libs = $(foreach o,$1,$($o-libs)) > expand-objs = $(strip $(sort $(filter %.o,$1)) \ > $(foreach o,$(filter %.mo,$1),$($o-objs)) \ > $(filter-out %.o %.mo,$1)) > > but the other question is: do we care about static linking of anything > except the user-mode emulators? Should --static automatically imply > --disable-tools --disable-system? > > Paolo Seems like this works for me on FreeBSD with my test case. sean