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]