qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Applying windows source patch to CVS?


From: Steve D. Perkins
Subject: [Qemu-devel] Applying windows source patch to CVS?
Date: Wed, 27 Jul 2005 18:34:52 -0400
User-agent: Mozilla Thunderbird 1.0.2 (Windows/20050317)

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






reply via email to

[Prev in Thread] Current Thread [Next in Thread]