<?xml version="1.0" ?>
<kc>

<title>Wine Traffic</title>

<author contact="http://www.theshell.com/~vinn">Brian Vincent</author>
<issue num="318" date="10 Jul 2006 00:00:00 -0800" />
<intro> <p>This is the 318th issue of the Wine Weekly News publication.
Its main goal is to look for plane tickets for WineConf 06. It also serves to inform you of what's going on around Wine. Wine is an open source implementation of the Windows API on top of X and Unix.  Think of it as a Windows compatibility layer.  Wine does not require Microsoft Windows, as it is a completely alternative implementation consisting of 100% Microsoft-free code, but it can optionally use native system DLLs if they are available.   You can find more info at <a href="http://www.winehq.org">www.winehq.org</a></p> </intro>
<stats posts="555" size="1003" contrib="121" multiples="70" lastweek="43">

<person posts="35" size="40" who="truiken at gmail.com (James Hawkins)" />
<person posts="34" size="67" who="cmorgan at alum.wpi.edu (Chris Morgan)" />
<person posts="28" size="29" who="julliard at winehq.org (Alexandre Julliard)" />
<person posts="23" size="42" who="tony.lambregts at gmail.com (Tony Lambregts)" />
<person posts="23" size="27" who="hverbeet at gmail.com (H. Verbeet)" />
<person posts="17" size="37" who="ivg231 at gmail.com (Ivan Gyurdiev)" />
<person posts="17" size="15" who="dank at kegel.com (Dan Kegel)" />
<person posts="15" size="16" who="mike at plan99.net (Mike Hearn)" />
<person posts="14" size="24" who="jwstolk at gmail.com (Jaap Stolk)" />
<person posts="15" size="19" who="dmitry at codeweavers.com (Dmitry Timoshkov)" />
<person posts="12" size="20" who="william.knop at gmail.com (William Knop)" />
<person posts="12" size="8" who="Andrew.Talbot at talbotville.com (Andrew Talbot)" />
<person posts="11" size="24" who="wine-devel at kievinfo.com (Vitaliy Margolen)" />
<person posts="10" size="39" who="jonathan at ernstfamily.ch (Jonathan Ernst)" />
<person posts="10" size="23" who="rob at codeweavers.com (Robert Shearman)" />
<person posts="10" size="14" who="saulius2 at ar.fi.lt (Saulius Krasuckas)" />
<person posts="10" size="14" who="infyquest at gmail.com (Vijay Kiran Kamuju)" />
<person posts="9" size="20" who="madewokherd+d41d at gmail.com (Vincent Povirk)" />
<person posts="9" size="13" who="kuba at mareimbrium.org (Kuba Ober)" />
<person posts="8" size="29" who="stefandoesinger at gmx.at (Stefan D&#246;singer)" />
<person posts="8" size="10" who="chris.kcat at gmail.com (Chris)" />
<person posts="8" size="8" who="ge at gse.nl (Ge van Geldorp)" />
<person posts="8" size="8" who="mike at codeweavers.com (Mike McCormack)" />
<person posts="8" size="6" who="ivanleo at gmail.com (Ivan Leo Puoti)" />
<person posts="7" size="9" who="juan_lang at yahoo.com (Juan Lang)" />
<person posts="7" size="9" who="timschmidt at gmail.com (Tim Schmidt)" />
<person posts="7" size="8" who="eric.pouech at wanadoo.fr (Eric Pouech)" />
<person posts="6" size="9" who="tkho at ucla.edu (Thomas Kho)" />
<person posts="6" size="7" who="jave27 at gmail.com (Jason Green)" />
<person posts="6" size="7" who="wine at troy.rollo.name (Troy Rollo)" />
<person posts="5" size="11" who="newren at gmail.com (Elijah Newren)" />
<person posts="5" size="10" who="chmorgan at gmail.com (Chris Morgan)" />
<person posts="5" size="9" who="pancha at mail.nnov.ru (Andrey Turkin)" />
<person posts="5" size="6" who="winehacker at gmail.com (Steven Edwards)" />
<person posts="4" size="11" who="frick at sc-networks.de (Christoph Frick)" />
<person posts="4" size="10" who="hp at redhat.com (Havoc Pennington)" />
<person posts="4" size="8" who="reif at earthlink.net (Robert Reif)" />
<person posts="4" size="7" who="wdev at foltman.com (Krzysztof Foltman)" />
<person posts="4" size="4" who="jacek at codeweavers.com (Jacek Caban)" />
<person posts="4" size="3" who="Paul.Vriens at xs4all.nl (Paul Vriens)" />
<person posts="3" size="13" who="astrand at cendio.se (=?iso-8859-1?Q?Peter_=C5strand?=)" />
<person posts="3" size="9" who="stefandoesinger at gmx.at (Stefan D&#246;singer)" />
<person posts="3" size="6" who="a_villacis at palosanto.com (=?ISO-8859-1?Q?Alex_Villac=ED=ADs_Lasso?=)" />
<person posts="3" size="5" who="dvsoftware at gmail.com (Dejan Velimirovic)" />
<person posts="3" size="5" who="nlaw at nildram.co.uk" />
<person posts="5" size="5" who="marcus at jet.franken.de (Marcus Meissner)" />
<person posts="3" size="3" who="andi at rhlx01.fht-esslingen.de (Andreas Mohr)" />
<person posts="3" size="2" who="molle.bestefich at gmail.com (Molle Bestefich)" />
<person posts="3" size="1" who="dimi at lattica.com (Dimi Paun)" />
<person posts="2" size="46" who="andreas.bierfert at lowlatency.de (Andreas Bierfert)" />
<person posts="2" size="7" who="paniemin at cc.hut.fi (Pauli)" />
<person posts="2" size="7" who="ngompa13 at gmail.com (Neal Gompa)" />
<person posts="2" size="6" who="xerox_xerox2000 at yahoo.co.uk (Louis. Lenders)" />
<person posts="2" size="6" who="stefandoesinger at gmx.at (Stefan =?iso-8859-2?q?D=F6singer?=)" />
<person posts="2" size="5" who="blin at gmx.net (Kai Blin)" />
<person posts="2" size="5" who="dee.ayy at gmail.com (Dee Ayy)" />
<person posts="2" size="4" who="leidola at newcon.de (Olaf Leidinger)" />
<person posts="2" size="4" who="chris-usenet at netzpunkt.org (Christoph Probst)" />
<person posts="2" size="3" who="jclark at thinstall.com (Jonathan Clark)" />
<person posts="2" size="3" who="dj015 at yahoo.com (Damjan Jovanovic)" />
<person posts="2" size="3" who="hurtta+gmane at siilo.fmi.fi (Kari Hurtta)" />
<person posts="2" size="3" who="benjamin.fabricius at lawo.de (Benjamin Fabricius)" />
<person posts="2" size="2" who="agarobr.listas at gmail.com (Augusto Arcoverde da Rocha)" />
<person posts="2" size="2" who="fly-x at mail.ru (Evgeny Burzak)" />
<person posts="2" size="1" who="jorishuizer at planet.nl (Joris Huizer)" />
<person posts="2" size="1" who="xerox_xerox2000 at yahoo.co.uk (Louis Lenders)" />
<person posts="2" size="1" who="ivanleo at gmail.com" />
<person posts="2" size="1" who="phil at newstar.rinet.ru (Phil Krylov)" />
<person posts="1" size="28" who="alex at thehandofagony.com (Alexander Nicolaysen =?iso-8859-1?q?S=F8rnes?=)" />
<person posts="1" size="13" who="mattfinn at gmail.com (Matt Finnicum)" />
<person posts="1" size="6" who="patrol at sinus.cz (Pavel Troller)" />
<person posts="1" size="5" who="stefan at codeweavers.com (Stefan D&#246;singer)" />
<person posts="1" size="5" who="arcelectronics at sc.rr.com (Paul Romanyszyn)" />
<person posts="1" size="5" who="stefan at codeweavers.com (Stefan =?windows-1252?q?D=F6singer?=)" />
<person posts="1" size="3" who="efrias at syncad.com (Eric Frias)" />
<person posts="1" size="3" who="uli-do at gmx.at (Ulrich Dobramysl)" />
<person posts="1" size="2" who="stefandoesinger at gmx.at (Stefan =?windows-1250?q?D=F6singer?=)" />
<person posts="1" size="2" who="segin2005 at gmail.com (Segin Noname)" />
<person posts="1" size="2" who="xnavara at volny.cz (Filip Navara)" />
<person posts="1" size="2" who="jswillis93105 at verizon.net (John Willis)" />
<person posts="1" size="2" who="phil.krylov at gmail.com (Phil Krylov)" />
<person posts="1" size="2" who="dbialac at yahoo.com (David Bialac)" />
<person posts="1" size="2" who="stefan at codeweavers.com (Stefan D&#246;singer)" />
<person posts="1" size="2" who="frick at sc-networks.com (Christoph Frick)" />
<person posts="1" size="1" who="readams at gnome.org (Rob Adams)" />
<person posts="1" size="1" who="frans.kool at gmail.com (Frans Kool)" />
<person posts="1" size="1" who="ns03ja at brocku.ca (Neil Skrypuch)" />
<person posts="1" size="1" who="toth at smk.gda.pl (Krzysztof Benkowski)" />
<person posts="1" size="1" who="wowbagger at sktc.net (David D. Hagood)" />
<person posts="1" size="1" who="bon at elektron.ikp.physik.tu-darmstadt.de (Uwe Bonnes)" />
<person posts="1" size="1" who="christian.gmeiner at students.fhv.at (Christian Gmeiner)" />
<person posts="1" size="1" who="doctormo at gmail.com (Martin Owen)" />
<person posts="1" size="1" who="sss at online.de (Olaf Schmidt)" />
<person posts="1" size="1" who="M.B.Lankhorst at gmail.com (Maarten Lankhorst)" />
<person posts="1" size="1" who="a_villacis at palosanto.com (=?UTF-8?B?QWxleCBWaWxsYWPDrcKtcyBMYXNzbw==?=)" />
<person posts="1" size="1" who="dsh at linux.ucla.edu (Dan Hipschman)" />
<person posts="1" size="1" who="gerald at pfeifer.com (Gerald Pfeifer)" />
<person posts="1" size="1" who="RFMuller at SBCGlobal.net (Robert Muller)" />
<person posts="1" size="1" who="m.b.lankhorst at gmail.com (Maarten Lankhorst)" />
<person posts="1" size="1" who="saulius.menkevicius at gmail.com (Saulius Menkevicius)" />
<person posts="1" size="1" who="k04jg02 at kzoo.edu (Joseph Garvin)" />
<person posts="1" size="0" who="wine at electrozaur.com (Boaz Harrosh)" />
<person posts="1" size="0" who="mlessard at tc2l.ca (Michael Lessard)" />
<person posts="1" size="0" who="acg1 at soton.ac.uk (Amaury)" />
<person posts="1" size="0" who="jwhite at winehq.org (Jeremy White)" />
<person posts="1" size="0" who="Vikas.Gera at headstrong.com (Vikas Gera)" />
<person posts="1" size="0" who="john at opensoftcorp.com" />
<person posts="1" size="0" who="brian.vincent at gmail.com (Brian Vincent)" />
<person posts="1" size="0" who="aric at codeweavers.com (Aric Stewart)" />
<person posts="1" size="0" who="Sven.Paschukat at gmx.de (Sven Paschukat)" />
<person posts="1" size="0" who="jnewman at codeweavers.com (Jeremy Newman)" />
<person posts="1" size="0" who="wine.dev at web.de (Detlef Riekenberg)" />
<person posts="1" size="0" who="lav at etersoft.ru (Vitaly Lipatov)" />
<person posts="1" size="0" who="frank.richter at gmail.com (Frank Richter)" />
<person posts="1" size="0" who="gslink at one.net (gslink)" />
<person posts="1" size="0" who="the3dfxdude at gmail.com (Jesse Allen)" />
<person posts="1" size="0" who="ahziem1 at mailbolt.com (Andrew Ziem)" />
<person posts="1" size="0" who="lukost at gmail.com (=?ISO-8859-2?Q?=A3ukasz_Chr=F3st?=)" />

</stats>
<section 
	title="News: CrossOver Update, Mac News"
	subject="News"
	archive="http://www.winehq.com/pipermail/wine-devel/2006-April/.html"
	posts="2"
>
<topic>News</topic>
<mention>CodeWeavers</mention>
<mention>codeweavers</mention>
<mention>Microsoft</mention>
<mention>News</mention>
<mention>ZDNet</mention>

<p>CodeWeavers released an update for CrossOver Office (CXO) this week
bringing it up to version 5.0.3.  While this is just a bugfix
release for CrossOver Professional, it brings the server edition
product up to the 5.0 level for the first time.  For more info,
check out the 
<a href="http://crossover.codeweavers.com/pipermail/announce/2006-June/000032.html">announcement</a>.  Fixes include better support for
iTunes and changes to work with Fedora Core 5.  This is the first
update in about 6 months and perhaps the last one we'll see in 
the 5.x line.

</p><p>
Appearing in the ZDNet family of publications were a series of
articles discussing upcoming CXO support on Macs.
>From CNET.c.uk, <a href="http://news.cnet.co.uk/software/0,39029694,49281075,00.htm"><i>Wine lets Windows run on a Mac</i></a>
nicely summarizes the direction CodeWeavers is taking CXO:</p>
<quote who="CNET"><p>
While many Windows programs may work with the Mac version of CrossOver 
Office, CodeWeavers will support only a handful. These are likely to 
include Microsoft Project, Microsoft Outlook and the Windows-only game 
Half-Life 2, White said. </p></quote>

</section>
<section 
	title="Changes to Fedora Packages"
	subject="wine packages for Fedora Extras"
	archive="http://www.winehq.com/pipermail/wine-devel/2006-July/049282.html.html"
	posts="3"
>
<topic>Packaging</topic>
<p>A few weeks ago 
(WWN <a href="http://www.winehq.com/?issue=316#Fedora%20Packages%20Update">#316</a>)
we mentioned Andreas Bierfert had taken over building packages for Fedora.
He wrote in this week to let everyone know he'd made some changes to the
way the packages are configured:</p>
<quote who="Andreas Bierfert"><p>
some of you might have noticed that building 0.9.16 for Fedora Extras took me
more time then the releases before. This was because of the discussions from a
couple of weeks ago on this list. As a result I did spent some time on the
mentioned issues and came across an easy solution:
</p><p>
If you install wine form the Fedora Extras repository via <tt>yum install 
wine</tt> nearly everything that would be in a monolithic package is going to be
installed. The <tt>wine</tt> package now is a meta-package containing requires 
for the various subpackages. So now 'normal' users who do a <tt>yum install 
wine</tt> will get everything they need and experts who know what they are doing
can go and install only the parts they want. I hope that this solution now leads
to fewer 'false positives' on bug reports and for better user integration and
satisfies some of the things you, the wine folks, brought up.
</p><p>
Thanks for the input on this matter. I hope that this is only the first step
towards a good relation ship between wine and the fedora packages for wine and
that emails like the ones from a couple of weeks back won't happen again...
</p><p>
So for the announcement: 
</p><p>
wine 0.9.16 for Fedora Extras 3,4,5,devel is built and should be pushed to the
mirrors in a couple of hours.
</p></quote>


</section>
<section 
	title="ClamAV Integration"
	subject="How do I get the unix filename for a wine handle?"
	archive="http://www.winehq.com/pipermail/wine-devel/2006-June/048899.html"
	posts="9"
>
<topic>Summer of Code 2006</topic>
<topic>Integration</topic>

<mention>Eric Pouech</mention>
<mention>Kuba Ober</mention>
<mention>Google</mention>

<p>Christoph Probst has started in on his Summer of Code project
and asked for some assistance regarding integrating with 
<a href="http://www.clamav.net/">ClamAV</a>:</p>
<quote who="Christoph Probst"><p>
I'm one of the Google Summer of Code students and I'm working on the ClamAV 
integration in wine. Today I was discussing an issue with my mentor and he 
suggested to post it here.
</p><p>

Currently I'm working on a scan-after-write functionality: Whenever a file was 
changed the virusscanner checks the file.
</p><p>
My plan is to hook in NtWriteFile() (dlls/ntdll/file.c), because whenever a 
windows program writes to a file this function is called. Within this 
function the file is accessed using its unix_handle.
</p><p>
The problem is that I need to know the unix filename for clamAV to access the 
file, but I see no proper way or function to get it as long as I just know 
the unix_handle or fd.
</p><p>

Possible solutions so far:
<ol>
<li> searching /proc/self/fd/%d for the name. This would be an easy but
   very ugly solution.</li>

<li> maintaining a table mapping unix_handles to filenames from within
   NtCreateFile(). Hence I don't have the feeling that this is a good
   solution.</li>

<li> storing the unix filename in the wineserver handle object when it's
   created. This is probably the right place to keep this information but
   it would require some changes to the wineserver. If I understand it
   right it is already planned to implement something like this
   ("lookup_name" in server/object.c)</li>
</ol></p><p>

But maybe I just missed an even better approach. What would you recommend to 
do? Any comment is appreciated. 
</p></quote>

<p>Alexandre replied first,
<quote who="Alexandre Julliard">
You can't do that in general. In Unix a file can have multiple names,
or even none at all, there's simply no way to get a filename from a
handle. On Linux you can use /proc/self/fd but that's not very
portable.</quote></p>

<p>Chris thought his third option might be the way to go then:</p>
<quote who="Christoph Probst"><p>
So what do you think about the solution that the wineserver stores the 
filename in the file object when the object is created?
</p><p>
Just like wine_server_handle_to_fd() there would be a 
wine_server_handle_to_filename() that returns the filename.
</p><p>
Any objections to this?</p></quote>

<p>Alexandre still didn't think that would work,
<quote who="Alexandre Julliard">
Like I said, there's no guarantee that the file even has a name,
or that it is accessible under the name that was used to open it, so
we can't provide such an API.</quote></p>

<p>Eric Pouech then wondered if it would be easier to modify
ClamAV to take a file descriptor as input.  Kari Hurtta pointed
out that ClamAV already can take a stream of data.  Kuba Ober
was concerned that would kill performance, especially since
there's a lot of case where scanning isn't completely necessary.  
Chris decided to go back and take a closer look at the functionality
already built into ClamAV.
</p>

</section>
<section 
	title="Safedisc RPM"
	subject="An RPM of wine with safedisc support"
	archive="http://www.winehq.com/pipermail/wine-devel/2006-June/048928.html"
	posts="5"
>
<topic>Architecture</topic>
<mention>Vitaliy Margolen</mention>
<mention>Mike Hearn</mention>

<p>The Safedisc saga continues.  Ivan Leo Puoti posted an RPM
a few weeks ago for anyone wishing to play with copy protected
games using Wine:</p>
<quote who="Ivan Leo Puoti"><p>
Safedisc has now been working on wine for almost a year, but it'll
still take some time before we get the code into winehq, so I've
decided to build an RPM of wine with safedisc 1 support so users can
play around with it, you can download it from
<ul>
<a href="http://www003.portalis.it/115/wine-safedisc-0.9.16-mdk.i586.rpm">http://www003.portalis.it/115/wine-safedisc-0.9.16-mdk.i586.rpm</a>
</ul></p><p>
Safedisc 2 and above are not supported. This is based on wine 0.9.16,
however it isn't an official winehq release, and is provided on an as
is basis. To run a safedisc protected game, you must run winecfg and
set the drive type of your cdrom drive to "cdrom" in the drives tab.
Yes, this sounds dumb, but it has to be done. Then run the game
normally, and as long as you have an original CD (Ok, copies can work
too but that's Macrovision's fault) in the drive, the game will start.
</p></quote>

<p>Mike Hearn asked for the necessary patches to be added to the
wiki for reference.  In related news, Vitaliy Margolen submitted
<a href="http://www.winehq.com/pipermail/wine-patches/2006-July/028478.html">a patch</a> 
that adds some of the important infrastructure for later ntoskrnl
patches.</p>

</section>
<section 
	title="Win64 / 64-bit Winelib"
	subject="Win64 status"
	archive="http://www.winehq.com/pipermail/wine-devel/2006-June/048758.html"
	posts="15"
>
<topic>Ports</topic>
<mention>Microsoft</mention>

<p>Good ol' 64-bit support.  Windows supports it now and there's been
some rumblings for a while about Wine needing to support 64-bit Windows 
binaries.  Ge van Geldorp dropped a series of patches last week fixing up a 
lot of issues with Wine.  At the end of the patches he explained what was now
possible:</p>
<quote who="Ge van Geldorp"><p>
With the Win64 patches I just submitted to wine-patches, I'm able to
successfully build Win64-enabled Wine and execute the following 64-bit
winelib (winelib64? wine64lib?) application:
<ul><code>
#include "windows.h"<br />
int WINAPI WinMain(HINSTANCE hinst, HINSTANCE hprev, LPSTR cmdline, int
cmdshow)<br />
{
<ul><code>

  DWORD Written;<br /><br />

  WriteFile(GetStdHandle(STD_OUTPUT_HANDLE), "Hello, world\r\n", 14,
&amp;Written, NULL);<br /><br />

  return 0;</code></ul>
}</code></ul>
</p><p>
Unfortunately, compiling the above app as a true 64-bit HELLO64.EXE using
Microsoft Visual Studio and then executing it using Wine doesn't work. The
problem is that the calling convention for functions is different between
MSVC and GCC generated apps. Basically, MSVC puts the function arguments in
registers RCX, RDX, R8, R9 while GCC puts function arguments in registers
RDI, RSI, RDX, RCX, R8, R9. I guess we'll have to wait for true .EXE support
until someone teaches GCC the MSVC calling convention.
</p><p>
To prevent confusion: the "normal" 32-bit Wine version runs fine on x86_64
Linux. This is the version you'll want to use, it allows you to run 32-bit
Windows stuff. The remarks above are about running 64-bit Windows
executables which are virtually non-existant at the moment.
</p></quote>

<p>Kuba Ober agreed to take a stab at looking into the GCC side of things
as long as some people could help test:</p>
<quote who="Kuba Ober"><p>
I'm currently hacking on gcc for an embedded target (Z8 Encore), but I
wouldn't mind giving it a try while I'm digging in the gcc tree.
</p><p>
I'd like to hear any suggestions as to how to tell the compiler to use that
calling convention (I'm not talking about implementation, just how the
compiler used would tell it).
</p><p>
I presume it'd need to be something that can be set globally per each compiler
invocation, as well as a per declaration override.
</p><p>
I'm thinking of "-msvc" (like -liberty ;) compiler option to force a
MSVC-compatible ABI, and for now that'd only apply to 64 bit code (i.e. with
-m64). Maybe in the future it could enable something special for 32 bit code
as well.
</p><p>
I'm all ears about the per-declaration override (a pragma? an __attribute__?),
and about alternatives to -msvc.
</p><p>
I'd be submitting a patch to mingw32 people as soon as it's done, in addition
to posting it here. Note that the only way for me to test it would be to
inspect the assembly output, as I'm not running 64 bit environment here (even
though I'm on a 64 bit AMD processor). So it'd need testing from 64 bit
people here at least.
</p></quote>

<p>Filip Navara then jumped in to discuss some of the eccentricities of
Win64,
<quote who="Filip Navara">
The problem is not only
with the calling convention, but with the whole ABI rather. I've had
GCC patched to use the MSVC x64 calling convention (without a switch
though) for about a year now, but it doesn't solve the problem. There
is much more ABI differences including the exception handling (and yes,
I mean exception handling in C, not only C++) where MSVC generates special
unwinding information for the functions. I'm not sure if it would be
even possible to mix the ABI this way, but I'm open to hear some suggestions.
</quote></p>

<p>Kuba asked for any pointers regarding the MSVC x86 ABI.  Filip 
mentioned he'd uploaded some diffs to <a href="http://www.mingw.org/">MingW</a>
to <a href="http://www.volny.cz/xnavara/mingw64/">http://www.volny.cz/xnavara/mingw64/</a> and had some links with more info:</p>
<quote who="Filip Navara"><p>
As for the documentation I can recommend
<ul>
<li> 
<a href="http://blogs.msdn.com/freik/archive/category/12430.aspx">
http://blogs.msdn.com/freik/archive/category/12430.aspx</a></li>
<li> MSDN</li>
<li> the PE-COFF v8 document recently updated by MS
(<a href="http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx">
http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx</a>)</li>
<li> the ABI document that comes with some MSVC versions</li></ul>
</p></quote>

<p>More patches from Ge arrived over the next few days, but it seems like
there's more work to be done.</p>

</section>
<section 
	title="DWARF2 Testing Needed"
	subject="Call for volunteer: dwarf2 testing"
	archive="http://www.winehq.com/pipermail/wine-devel/2006-June/049118.html"
	posts="5"
>
<topic>Debugging</topic>
<p>A few weeks ago we mentioned Eric Pouech had added support for
the DWARF2 debugging format to Wine (see WWN
<a href="http://www.winehq.org/?issue=317#DWARF2%20Debugging">#317</a>).
He followed that up with a request for testers:</p>
<quote who="Eric Pouech"><p>
As you may have seen, there's now some support for the dwarf2 debug 
format (instead of stabs) in the Wine tree
I'd like to get some feedback on the overall feedback on how it behaves.
To do so, you need to reconfigure Wine with something like
CFLAGS="$CFLAGS -gdwarf-2" ./configure
and then make clean; make (so that all modules are recompiled with 
proper format)

Normal debugging should be available with winedbg.
If something goes wrong, please indicate:
<ul><li> console messages</li>
<li> error items</li>
<li> steps that led to it</li>
<li> version of gcc used</li></ul>
</p></quote>

<p>Paul Romanyszyn found a problem:</p>
<quote who="Paul Romanyszyn"><p>

Running a 16 bit application from bug 5493
now gives an a continuous list of 
<ul><code>
fixme:dbghelp_dwarf:dwarf2_compute_location Unhandled attr op: 75
</code></ul></p><p>
instead of continuous page faulting between on the lookup.
What traces do you need and I will add them to that bug.
</p><p>
That bugs url links to the zip of the exe's with instructions on how to 
reproduce.
</p></quote>

<p>Eric posted a patch, but it only uncovered another problem.  He
promised to fix it later.</p>

</section>
<section 
	title="Indenting Traces"
	subject="indented relay traces"
	archive="http://www.winehq.com/pipermail/wine-devel/2006-June/048914.html"
	posts="6"
>
<topic>Debugging</topic>
<p>James Hawkins sent a patch to indent relay traces:</p>
<quote who="James Hawkins"><p>

I don't know if you've ever wished the relay traces were indented by
the level of the call, so you can get a better feel for who calls what
from where, but I thought it would be nifty.  I've attached a patch
for dlls/ntdll/relay.c that gives you this.  You see the call level
next to the thread id, then twice that number of spaces, then the
usual relay information.  I'd paste an example, but it would just get
line wrapped, so patch your tree and give it a shot!</p></quote>

<p>Eric Pouech pointed out there was already a way to do this
using a script in <tt>tools/</tt>:</p>
<quote who="Eric Pouech"><p>

This won't work for a multithreaded program.
<tt>tools/examine_relay</tt> does what you want, plus some other 
goodies (calls that didn't return...)
IMO it's better to instrument the tools after the relay trace, rather 
than tweaking the trace generation for any potential goodie.</p></quote>

<p>Duane Clark added:</p>
<quote who="Duane Clark"><p>
It is also not immediately obvious that it will indent in two slightly 
different formats. Add a flag to the end of the command line to get 
different formatting:
<ul><code>tools/examine_relay wine.log -f</code></ul></p></quote>

</section>
<section 
	title="GUID List"
	subject="A big online GUID-List"
	archive="http://www.winehq.com/pipermail/wine-devel/2006-July/049208.html"
	posts="1"
>
<topic>Documentation</topic>
<p>GUID's, Globally Unique Identifiers, on Windows are used for all
sort of things, including identifying various components.  Detlef
Riekenberg provided a link to a site that catelogs a ton of them:</p>
<quote who="Detlef Riekenberg"><p>
Found a big online GUID-List:
<ul>
<a href="http://www.myplugins.info/guids/guidlist.php">
http://www.myplugins.info/guids/guidlist.php</a></ul></p></quote>






</section></kc>
