From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46520) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VAD0R-0006X4-QO for qemu-devel@nongnu.org; Fri, 16 Aug 2013 01:55:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VAD0N-0006l3-5Q for qemu-devel@nongnu.org; Fri, 16 Aug 2013 01:55:27 -0400 Received: from [2a03:4000:1::4e2f:c7ac:d] (port=47873 helo=v220110690675601.yourvserver.net) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VAD0M-0006kr-Rh for qemu-devel@nongnu.org; Fri, 16 Aug 2013 01:55:23 -0400 Message-ID: <520DBEBB.2090809@weilnetz.de> Date: Fri, 16 Aug 2013 07:55:07 +0200 From: Stefan Weil MIME-Version: 1.0 References: <1375985887-3984-1-git-send-email-sw@weilnetz.de> <20130815221902.16563.82927@loki> In-Reply-To: <20130815221902.16563.82927@loki> Content-Type: multipart/alternative; boundary="------------030301060908030704080000" Subject: Re: [Qemu-devel] [PATCH v2 for 1.6] w32: Add missing version.o to all executables (fix regression) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Michael Roth Cc: Paolo Bonzini , Anthony Liguori , qemu-devel This is a multi-part message in MIME format. --------------030301060908030704080000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Am 16.08.2013 00:19, schrieb Michael Roth: > Quoting Stefan Weil (2013-08-08 13:18:07) >> > QEMU executables for w32, w64 had included meta information built from >> > version.rc. These rules were changed several times some months ago. >> > >> > The latest version added version.o to the tools, but not to the system >> > emulations. >> > >> > This patch adds the meta information to all system emulations again. >> > >> > Signed-off-by: Stefan Weil > I seem to be getting build errors with this patch when doing a Fedora 18 mingw > crossbuild. I thought it was specific to qemu-ga so I disabled it to confirm > and it looks like version.o is never being built, so all targets fail when > linking. > > Reverting this patch seems to fix things > That's strange. Exactly the same command line works on Debian wheezy. version.o is built right at the beginning: ... QOM debugging yes GEN x86_64-softmmu/config-devices.mak GEN qemu-options.def GEN config-host.h GEN qmp-commands.h GEN qapi-types.h GEN qapi-visit.h GEN trace/generated-events.h GEN trace/generated-tracers.h GEN tests/test-qapi-types.h GEN tests/test-qapi-visit.h GEN tests/test-qmp-commands.h GEN config-all-devices.mak RC /home/stefan/src/qemu/qemu.org/spelling/version.o rm /home/stefan/src/qemu/qemu.org/spelling/config-host.h-timestamp GEN config-host.h GEN qemu-monitor.texi GEN qemu-img-cmds.texi ... Here are the dependency rules which should trigger building of version.o: $ grep version-.*obj Makefile* *mak Makefile:Makefile: $(version-obj-y) $(version-lobj-y) Makefile.objs:version-obj-$(CONFIG_WIN32) += $(BUILD_DIR)/version.o Makefile.objs:version-lobj-$(CONFIG_WIN32) += $(BUILD_DIR)/version.lo Could you please check the values of version-obj-y, version-lobj-y? Do you use a special make program? Do you get the same problem when running make without -j4 (no parallel build)? My patch was a hack for 1.6, but I did not expect that it might cause any problems. A better solution would extend version.rc and compile it each time when linking, so version.o can include build information. Regards, Stefan --------------030301060908030704080000 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Am 16.08.2013 00:19, schrieb Michael Roth:
Quoting Stefan Weil (2013-08-08 13:18:07)
> QEM=
U executables for w32, w64 had included meta information built from
> version.rc. These rules were=
 changed several times some months ago.
> 
> The latest version added ver=
sion.o to the tools, but not to the system
> emulations.
> 
> This patch adds the meta inf=
ormation to all system emulations again.
> 
> Signed-off-by: Stefan Weil <=
a moz-do-not-send=3D"true" class=3D"moz-txt-link-rfc2396E" href=3D"mailto=
:sw@weilnetz.de"><sw@weilnetz.de>
I seem to be getting build errors with this patch =
when doing a Fedora 18 mingw
crossbuild. I thought it was specific to qemu-ga so I disabled it to conf=
irm
and it looks like version.o is never being built, so all targets fail whe=
n
linking.

Reverting this patch seems to fix things


That's strange. Exactly the same command line works on Debian wheezy.
version.o is built right at the beginning:

...
QOM debugging=C2=A0=C2=A0=C2=A0=C2=A0 yes
=C2=A0 GEN=C2=A0=C2=A0 x86_64-softmmu/config-devices.mak
=C2=A0 GEN=C2=A0=C2=A0 qemu-options.def
=C2=A0 GEN=C2=A0=C2=A0 config-host.h
=C2=A0 GEN=C2=A0=C2=A0 qmp-commands.h
=C2=A0 GEN=C2=A0=C2=A0 qapi-types.h
=C2=A0 GEN=C2=A0=C2=A0 qapi-visit.h
=C2=A0 GEN=C2=A0=C2=A0 trace/generated-events.h
=C2=A0 GEN=C2=A0=C2=A0 trace/generated-tracers.h =C2=A0 GEN=C2=A0=C2=A0 tests/test-qapi-types.h
=C2=A0 GEN=C2=A0=C2=A0 tests/test-qapi-visit.h
=C2=A0 GEN=C2=A0=C2=A0 tests/test-qmp-commands.h =C2=A0 GEN=C2=A0=C2=A0 config-all-devices.mak
=C2=A0 RC=C2=A0=C2=A0=C2=A0 /home/stefan/src/qemu/qemu.org/s= pelling/version.o
rm /home/stefan/src/qemu/qemu.org/spelling/config-host.h-timestamp
=C2=A0 GEN=C2=A0=C2=A0 config-host.h
=C2=A0 GEN=C2=A0=C2=A0 qemu-monitor.texi
=C2=A0 GEN=C2=A0=C2=A0 qemu-img-cmds.texi
...

Here are the dependency rules which should trigger building of version.o:

$ grep version-.*obj Makefile* *mak
Makefile:Makefile: $(version-obj-y) $(version-lobj-y)
Makefile.objs:version-obj-$(CONFIG_WIN32) +=3D $(BUILD_DIR)/version.o
Makefile.objs:version-lobj-$(CONFIG_WIN32) +=3D $(BUILD_DIR)/version.lo

Could you please check the values of version-obj-y, version-lobj-y?
Do you use a special make program? Do you get the same problem when
running make without -j4 (no parallel build)?

My patch was a hack for 1.6, but I did not expect that it might cause
any problems. A better solution would extend version.rc and compile
it each time when linking, so version.o can include build information.

Regards,
Stefan

--------------030301060908030704080000--