Hello all -
I wrote about this a couple of days ago on the QEMU forum at
"http://qemu.dad-answers.com", before I knew about the existence of this
mailing list.
I recently built the 0.7.0 source tarball on a Windows 2000
workstation with GCC 3.4, but had a difficult time doing so. The code
compiles out-of-the-box, but the generated executable fails on startup.
After some research I found the popular Win32 patch at
"http://www.h7.dion.ne.jp/~qemu-win/PortingTips-en.html
<http://www.h7.dion.ne.jp/%7Eqemu-win/PortingTips-en.html>"... but that
source patch was generated from the 0.6.0 release, so I had to manually
go through and apply all the changes to the 0.7.0 codebase.
I've been working with the executables I built for several days now
and haven't found any issues, but I was still a little uncomfortable
with the "patch" process. In "dyngen.c", the patch calls for inserting
several new functions that make calls to the "error()" function. Because
of the way things are written, the compiler complains that you're trying
to redefine "error()" and won't compile it. I looked deeper into the
source and found that "error()" is really just a glorified wrapper for
the call "exit(1)"... so I commented out all the new calls to "error()"
and replaced them with a simple "exit(1)". It works fine with no issues
whatsoever, but it does bother me that the older patch logic doesn't
work as-is on the newer source... that patch is only going to slip
further out of date if it's not maintained, and future changes may not
be so trivial.
I think it's unfortunate that developers have to go through all
these manual edits to build under Win32/GCC... even having to apply a
patch seems unnecessary. None of the code in that patch looked like
anything that would cause issues with the build on other platforms, so
why hasn't the patch simply been applied in CVS before now? I would be
happy to redo my effort for the latest 0.7.1 release, *IF* I knew that
it was going into the main codebase so further patches would be
unnecessary going forward. Is there some reason why this wasn't done
back when the 0.6.0 patch when it was first released? If there is
interest in me writing a patch for the 0.7.1 version or a newer CVS
snapshot, or helping with Win32/GCC support in general, please let me know.
Steve Perkins
_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel