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

<title>Wine Traffic</title>

<author contact="http://www.theshell.com/~vinn">Brian Vincent</author>
<issue num="222" date="05/14/2004" />
<intro> <p>This is the 222nd issue of the Wine Weekly News publication.
Its main goal is to wash smelly socks. 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="283" size="1186" contrib="87" multiples="43" lastweek="37">

<person posts="23" size="54" who="Alexandre Julliard" />
<person posts="24" size="65" who="Mike Hearn" />
<person posts="15" size="35" who="Dimitrie O. Paun" />
<person posts="11" size="35" who="Bill Medland" />
<person posts="11" size="32" who="Dmitry Timoshkov" />
<person posts="10" size="34" who="Ivan Leo Murray-Smith" />
<person posts="9" size="24" who="Ferenc Wagner" />
<person posts="8" size="20" who="James Courtier-Dutton" />
<person posts="8" size="18" who="hatky" />
<person posts="7" size="19" who="Kevin Koltzau" />
<person posts="7" size="17" who="Saulius Krasuckas" />
<person posts="6" size="23" who="Steven Edwards" />
<person posts="6" size="16" who="Scott W Gifford" />
<person posts="6" size="16" who="Raphael" />
<person posts="6" size="16" who="Roger Olson" />
<person posts="6" size="15" who="Shachar Shemesh" />
<person posts="5" size="124" who="Dmitry" />
<person posts="4" size="118" who="Julliard" />
<person posts="4" size="12" who="Uwe Bonnes" />
<person posts="4" size="11" who="Dan Timis" />
<person posts="4" size="11" who="Paul Davis" />
<person posts="4" size="10" who="Eric Pouech" />
<person posts="4" size="9" who="Dan Kegel" />
<person posts="4" size="9" who="Rein Klazes" />
<person posts="4" size="9" who="Jakob Eriksson" />
<person posts="3" size="28" who="Krishna Murthy" />
<person posts="3" size="21" who="Seo Sanghyeon" />
<person posts="3" size="9" who="Robert Reif" />
<person posts="3" size="8" who="Duane Clark" />
<person posts="3" size="6" who="Francois Gouget" />
<person posts="3" size="6" who="Tim Hentenaar" />
<person posts="2" size="60" who="paolo inzaghi" />
<person posts="2" size="9" who="Roger" />
<person posts="2" size="6" who="Raghavan Gurumurthy" />
<person posts="2" size="6" who="Jerry Haltom" />
<person posts="2" size="6" who="Santosh Siddheshwar" />
<person posts="2" size="5" who="=?iso-8859-1?q?fabrice=20martin?=" />
<person posts="2" size="5" who="Maxime Bellenge" />
<person posts="2" size="5" who="Paul Rupe" />
<person posts="2" size="4" who="Ge van Geldorp" />
<person posts="2" size="3" who="Matthew Davison" />
<person posts="2" size="3" who="Tom" />
<person posts="1" size="45" who="Chris Morgan" />
<person posts="1" size="28" who="Twickline" />
<person posts="1" size="22" who="kosta" />
<person posts="1" size="14" who="Oleg Prokhorov" />
<person posts="1" size="7" who="emmanuel maillard" />
<person posts="1" size="5" who="Jake Hamby" />
<person posts="1" size="5" who="MIKEL CARRASCO" />
<person posts="1" size="5" who="(Simon.Tyler)" />
<person posts="1" size="4" who="Ylia K" />
<person posts="1" size="4" who="Ahmed Soliman" />
<person posts="1" size="3" who="Roderick Colenbrander" />
<person posts="1" size="3" who="Michael Stefaniuc" />
<person posts="1" size="3" who=" &lt;eternal@antelecom.net&gt;" />
<person posts="1" size="3" who="Ulrich Czekalla" />
<person posts="1" size="3" who="Erik de Castro Lopo" />
<person posts="1" size="2" who="Rafael Avila de Espindola" />
<person posts="1" size="2" who="Simon Craythorn" />
<person posts="1" size="2" who="MediaHost \(TM\)" />
<person posts="1" size="2" who="Dominik Strasser" />
<person posts="1" size="2" who="Roderick Colenbrander" />
<person posts="1" size="2" who="Vincent B&#233;ron" />
<person posts="1" size="2" who="Robert Shearman" />
<person posts="1" size="2" who="Henk Poley" />
<person posts="1" size="2" who="Mike McCormack" />
<person posts="1" size="2" who=" &lt;maxime.bellenge@laposte.net&gt;" />
<person posts="1" size="2" who="David Hammerton" />
<person posts="1" size="2" who="Hans Leidekker" />
<person posts="1" size="2" who="Michael S. Zick" />
<person posts="1" size="2" who="Huw D M Davies" />
<person posts="1" size="2" who="Willie Sippel" />
<person posts="1" size="2" who="Fabian Cenedese" />
<person posts="1" size="2" who="=?iso-8859-2?q?H=E1ber_J=E1nos?=" />
<person posts="1" size="2" who="Gerald Pfeifer" />
<person posts="1" size="2" who="Stefan Leichter" />
<person posts="1" size="1" who="William Lahti" />
<person posts="1" size="1" who="Lionel Ulmer" />
<person posts="1" size="1" who="Marcus Meissner" />
<person posts="1" size="1" who="Abby Ricart" />
<person posts="1" size="1" who="Jonathan Wilson" />
<person posts="1" size="1" who="Peter Hartshorn" />
<person posts="1" size="1" who="Andreas Mohr" />
<person posts="1" size="1" who="J.A. Frutos" />

</stats>
<section 
	title="News: Wine-20040505, CrossOver Office 3.0, WineX 3.3.2" 
	subject="News"
	archive="http://cvs.winehq.org/cvsweb/wine/ChangeLog?rev=1.83&amp;content-type=text/x-cvsweb-markup" 
	posts="4"
	startdate="05/01/2004"
	enddate="05/14/2004"
>
<topic>News</topic>
<p>Well, looks like I have a bit of catching up to do.  Last 
week while I was gone, Alexandre released Wine-20040505:</p>
<quote who="Alexandre Julliard"><p>
WHAT'S NEW with Wine-20040505: (see 
 <a href="http://cvs.winehq.org/cvsweb/wine/ChangeLog?rev=1.83&amp;content-type=text/x-cvsweb-markup">ChangeLog</a>
 	for details)
	<ul>
        <li> Many more filesystem improvements, including autodetection
          of drive types and devices, and support for editing the drive
          configuration with winecfg.</li>
        <li> Many Direct3D improvements.</li>
        <li> Several fixes to the various sound drivers.</li>
        <li> Lots of bug fixes.</li></ul></p></quote>

<p>The major changes are the DLL separation of the filesystem architecture.  In
fact, things seem to be mostly complete now.  Various cleanups
remain and a few things still reside in the files/ directory.  
It also seems like some work is shifting towards Wine
configuration.  Alexandre said a few months ago he didn't want
to get rid of the Wine config file until the filesystem changes
are done.  Now we're starting to see some of the configuration
work commence.</p>

<p>The biggest news from the commercial side of Wine is 
<a href="http://www.codeweavers.com/about/general/press/?id=20040511">the
release</a> of CrossOver Office 3.0.  CodeWeavers announced the
details on Tuesday.  Many people will be ecstatic about new support for
Lotus Notes 5.0 and 6.5.1, Microsoft Project, and Outlook XP.
Lotus Notes has long been on the wish list and happens to have the 
<a href="http://www.codeweavers.com/compatibility/browse/name?app_id=158">highest 
bounty</a> in CodeWeavers' Compatibility Center.  While not officially
supported, there are reports that Microsoft Money and FrameMaker have also
seen dramatic improvements.  </p><p>
Besides new applications,
CodeWeavers has dramatically changed the product by combining all of
the CrossOver Plugin functionality into CrossOver Office.  In fact,
CrossOver Plugin is now a product that will not be released separately.
To accompany these changes a new licensing mechanism was introduced.  
Jeremy White explained the reasoning behind it in an email to the
CrossOver announcement list:</p>
<quote who="Jeremy White"><p>
we have split the product into a 'Standard' edition and
into a 'Professional' edition.  The Standard edition does everything
our single user customers have always wanted, and it does so now
at a much lower price - $39.95.  The Professional edition is focused
on our customers who value higher support, multi user features,
and the ability to perform managed application installations.
</p><p>
To try to make this change as painless as we possibly could,
we have taken the following steps:
<ol>
   <li>  We have added 1 month of support time to all customers.
       This should ensure that anyone that bought CrossOver 2.1
       is entitled to a free upgraded to 3.0.</li>

   <li>  We have upgraded everyone's account status as follows:
   <ul><br />
       A.  All Plugin and single user Office customers have
           access to CrossOver Office Standard<br /><br />

       B.  All Bundle and multi user licenses have access to
           CrossOver Office Professional, including an increase
           in support priority to level 2.</ul></li></ol>
</p></quote>
<p>There were several rounds of beta tests and it seems to have
paid off.  There are many positive reports of successful upgrades
on the CodeWeavers' mailing list.</p> 

<p>Not to be left out, TransGaming announced 
<a href="http://www.transgaming.com/showthread.php?news=117">a minor
upgrade</a> to WineX bringing it up to version 3.3.2.  The major
addition is support for <i>Star Wars: Knights of the Old Republic</i>. 
May's <a href="http://www.transgaming.com/showthread.php?news=115 ">
Development Status and Voting Report</a> was published the same day.</p>

<p>Did you see our first interview of the year 
<a href="http://www.winehq.org/interview/13">with
Mike Hearn</a>?</p>

<p>Finally, we got a little bit PR this week.  
A short article on eWeek appeared about running
Windows apps on Linux.  CrossOver Office 
<a href="http://www.eweek.com/article2/0,,1586641,00.asp">made
the list</a>. Slashdot referenced Wine twice with regards
to the <a href="http://apache.slashdot.org/article.pl?sid=04/05/11/1645245&amp;mode=thread">CrossOver 3.0 release</a>
and <a href="http://interviews.slashdot.org/article.pl?sid=04/05/10/1252243&amp;mode=thread">solicting questions </a>
for CodeWeavers' Jeremy White.</p>

</section>
<section 
	title="Project David Uses CodeWeavers CrossOver Office" 
	subject="Project David"
	archive="http://www.winehq.com/hypermail/wine-devel/2004/05/0153.html" 
	posts="4"
	startdate="05/08/2004"
>
<topic>Commercial Development</topic>
<p>Ge van Geldorp spotted some news pointing at Project David being a
Wine derivative:</p>
<quote who="Ge van Geldorp"><p>
There are some screenshots available now at
<ul>
<a href="http://www.flexbeta.net/main/articles.php?action=show&amp;id=56"> 
http://www.flexbeta.net/main/articles.php?action=show&amp;id=56</a></ul>
</p><p> One of the
comments on osnews noticed that in the picture
<ul>
<a href="http://www.flexbeta.net/images/david/winbridge_install.gif">
http://www.flexbeta.net/images/david/winbridge_install.gif</a></ul>
</p><p> the second
line in winbridge.lst is /etc/wine... There are more clues that this
project David is just a (possibly repackaged) Wine.
</p></quote>

<p>Mike McCormack then looked a little closer and discovered it wasn't
just regular Wine from WineHQ:</p>
<quote who="Mike McCormack"><p>
Actually, it's just CrossOver Office's Wine repackaged.  Check out this 
screenshot:
<ul>
<a href="http://www.flexbeta.net/images/david/word2.gif">
http://www.flexbeta.net/images/david/word2.gif</a>
</ul></p><p>
Look closely at right and bottom side of the window.  The scrollbar and 
status bar are clipped.  That's a CrossOver Office only bug, which 
doesn't appear in WineHQ!
</p><p>
So they've at least ripped off some (likely all) of the CrossOver Office 
Wine package, and hyped it as their own.
</p></quote>

<p>Hopefully the real media will pick up on the fact that SpecOpS Labs
is peddling technology developed by other people with apparently
no added value.
The company seems to thrive on smoke and mirrors, and currently their 
website has "temporarily disabled" web pages discussing technology.</p>
<p>All signs point to Losers.</p>
</section>


<section 
	title="Retaining Clipboard After Closing Apps" 
	subject="Clipboard functionality across processes"
	archive="http://www.winehq.org/hypermail/wine-devel/2004/04/0202.html" 
	posts="3"
	startdate="05/12/2004"
>
<topic>Integration</topic>
<p>Wine has had decent copy and pasting support for a while.  Santosh Siddheshwar
discovered something that might go against expected behavior,
<quote who="Santosh Siddheshwar">
  Does WINE support access to clipboard data across WINE processes. For e.g.
one app opens the clipboard and sets
data into it using SetClipboardData, closes it and then exits. The other app
tries to retrieve this data.
It works in windows but doesn't seem to do so in WINE.
</quote></p>

<p>Jerry Haltom explained it was a problem in X:</p>
<quote who="Jerry Haltom"><p>
This would be a deficiency (or so some say) of the X clipboard design.
There is no "storage buffer" for clipboard data.
</p><p>
A process, when it hits Copy (SetClipboardData) registers that it owns
the clipboard. When another program hits paste, only then is the data
transferred between the processes. It is this way to support content
negotiation... where the data that gets copied or pasted might be a
different format depending on where you paste it. Plain text, HTML, RTF,
etc.
</p><p>
A downside is when the owning program closes, the data is lost.
</p></quote>

<p>Ulrich Czekalla pointed out a possible workaround:</p>
<quote who="Ulrich Czekalla"><p>
The short answer is no. We did have this functionality before and much of
the code is still in cvs but it was broken for some time and I've disabled
it. With a little bit of work it could be added back.
</p><p>
There are other ways to do this such as using klipper.
</p></quote>

</section>
<section 
	title="Hiding Symbols &amp; PE vs. ELF" 
	subject="Exporting symbols"
	archive="http://www.winehq.org/hypermail/wine-devel/2004/05/0209.html" 
	posts="16"
	startdate="05/12/2004"
	enddate="05/14/2004"
>
<topic>Build Process</topic>
<p>ELF has been the dynamic library of choice in Linux for about 
eight years now.  Other operating systems also support the same
format.  Windows, however, uses a different type of library - the
PE format.  Dan Timis wondered how to replicate some of Windows' PE
functionality on Linux:</p>
<quote who="Dan Timis"><p>
We need to have a library that links statically to a wine application.  
The wine application is an .exe.so, so everything becomes in the end an 
exe.so.  The problem we have is that all the symbols are exposed.
</p><p>
I have very little experience with Windows, but I understand that with 
a Windows DLL you can export certain functions, while hiding the 
others.  I know that's also true for the Mac.
</p><p>
Is there any way to export only the functions that are called by the 
code we link to, without exposing the internal workings?  Ideally we 
would like to be able to provide a static library created with ar or 
ranlib, link that library with other object files to create a .exe.so 
for wine, but when you do "nm" on the resulting .exe.so you would not 
see all the inner workings of our library.
</p><p>
Is that possible?
</p></quote>

<p>Dan then wrote back to clarify exactly what he was doing.
After compiling he ran <tt>strip</tt> against it after which
<tt>nm -D</tt> still showed all the symbols.  Dan only wanted
the ones needed for dynamic linking to be there.  Dmitry 
Timoshkov understood the problem, but since it's not a problem
with Wine per se he referred Dan elsewhere,
<quote who="Dmitry Timoshkov">
Actually that's a question for binutils mailing list. I was researching
that problem some time ago and found that dynamic linker has a switch
'<tt>--retain-symbols-file FILENAME</tt>' to leave only listed in the FILENAME
names in the SYMBOL TABLE. But according to '<tt>objdump -xstTR</tt>' DYNAMIC
SYMBOL TABLE still has all global symbols listed. I'd call it a limitation
of ELF format, which has no a concept of exported symbols.
</quote></p>

<p>Mike Hearn agreed that the binutils authors were the ones to
contact.  The ELF format doesn't really provide a mechanism for
this, however Mike thought that Nvidia has a method that uses the
preprocessor to mangle symbols.  Dan described such a method
that he might implement:</p>
<quote who="Dan Timis"><p>
I might do code obfuscation.  But, it may be safer for me to do 
something like:
<ul><code>
#define MyClass&#160;      F18Rsjkfgwe6<br />
#define MyMethod     aYSm48dYo49H<br />
<br />
class MyClass {
<ul>
	void MyMethod(cha *, bool);</ul>
</code></ul></p><p>

rather than mess with the binaries.
</p></quote>
<p>
Paul Davis then brought up a
different point of view that turned the conversation more into
an ELF vs. PE discussion:</p>
<quote who="Paul Davis"><p>
i'd just like to mention a small concern i have.
</p><p>
hiding symbols might well be a perfectly honest thing to want to do. i
personally can't see why, since a list of symbol names doesn't provide
much extra help to somebody who wants to disassemble and reverse
engineer your code. but i can understand that there might be some
circumstances where its desirable.
</p><p>
the problem is while hiding symbols doesn't impede a
disassembler/reverse engineering effort very much, it does impede
attempts to demonstrate the inappropriate use of someone else's code. 
</p><p>
for this reason, i personally wouldn't feel comfortable asking in a
public forum how to go about doing this. your mileage may and probably
does vary, of course.
</p></quote>

<p>Dmitry pointed out an alternate consideration,
<quote who="Dmitry Timoshkov">
Well, if I could clearly predict ELF linker behaviour with several
different modules each having global variables/functions with the same
names I would not bother too much, but I couldn't. Could you?
</quote>  To which Paul agreed,
<quote who="Paul Davis">
No, but if that was the reason I had for wanting to hide symbols, I
would probably say so up front, because its a pretty good one :)
</quote></p>

<p>Dmitry then expressed some frustration with not being able
to have that level of control,
<quote who="Dmitry Timoshkov">
Also, I personally feel a bit not comfortable when someone (for any
reason) is looking into a binary and sees names of internal interfaces
not appropriate for external learn/use. I find it ugly that I can't fully
control such basic things in the ELF world.
</quote></p>

<p>Mike thought another way to work around the problem was to 
explicitly show the symbols as internal only.  While it wouldn't
accomplish what Dan was originally trying to do at least it would
serve as a warning mechanism for anyone poking around:</p>
<quote who="Mike Hearn"><p>
IMHO it's cleaner to do what the glibc team do and simply mark them as
private using symbol versioning. Yes, they still appear in the symtab, but
when you read it at least you see:
<ul><code>
__libc_foobar@@GLIBC_PRIVATE</code></ul></p><p>

and there can be no doubt whatsoever that it's internal. That also lets
you mark things as internal and still use them from other DSOs.
</p><p>
ELF linker behaviour when there are multiple symbols with the same name is
defined by the way, it's just a dumb behaviour :) Basically they all
get linked to the first symbol that was loaded unless you have things like
-Bsymbolic set (though that only works if the symbol being linked is in
the same object).
</p><p>
The correct solution to making ELF not suck is to implement support for
the DT_1_GROUP flag so we can get grouped fixed, like on Solaris. This is
closer to the Windows model that people intuitively expect. It should also
help with some of the pathological slowness that prompted initiatives like
prelink.
</p></quote>

<p>Dmitry thought that solution was just as bad and only made things
more confusing,
<quote who="Dmitry Timoshkov">
 I still think that ELF is inherently sick, and inventing new (intrusive)
 workarounds makes it even worse.</quote>  Mike disagreed:</p>
<quote who="Mike Hearn"><p>
Maybe. But let's face it, the alternatives aren't much better. The only
real competition is PE (Windows)  which is worse than ELF in many ways,
and Mach-O (MacOS/X) which is so appallingly primitive it just blows my
mind that a shipping OS actually uses it.
<p></p>
Given the alternatives, we could have a lot worse than ELF!</p>
</quote> 

<p>Dmitry wanted to know exactly what was wrong with PE when ELF
seemingly had so many deficiencies,
<quote who="Dmitry Timoshkov">
Can you list at least some things you think are bad in PE in comparison
with ELF? Another downside in ELF in addition to mentioned already is
missing a resource section, which makes our life implementing Wine much
harder and forces all application developers to invent their own formats
to store icon/bitmap/dialog info/strings/etc. information.</quote></p>

<p>So Mike thought of some of the things he liked:</p>
<quote who="Mike Hearn"><p>
Sure - ELF has decent versioning, which PE lacks and has caused massive
pain due to conflicts etc. While you can rename DLLs on Windows it's not
a part of the system so not many people do, and when they do there's no
pattern to it.
</p><p>
The ELF file format is fairly simple compared to PE where you have
layers of wrappers and cruft due to its long history.
</p><p>
ELF is well specified for multiple CPU architectures and standard
between several different operating systems. I can get the spec in many
formats. The PE spec in contrast comes in the form of a Word document,
and I have to agree to a bigass EULA to read it:
</p><p>
<a href="http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx">
 http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx</a>
</p><p>
ELF is pretty easy to extend with new sections and flags.
</p><p>
PE resource files are IMHO a rather
dubious feature. Yes it makes implementing Wine harder, but any time I
see a filing-system-in-a-file I get suspicious. Sticking files inside
the EXE or DLL just makes them harder to get at, harder to replace or
edit: we already have a working filing system so reinventing that in a
limited fashion seems silly. I think keeping code and data physically
separate is a much better plan. 
</p><p>
In the rare case that you need to store binaries inside ELF it's still
possible: see GTK+ which does this for its stock artwork.
</p><p>
Finally, the linking semantics of ELF are as much a blessing as a curse.
While it can cause chaos sometimes, it also lets us do things like the
pthread override trick. Any LD_PRELOAD hack also uses this "feature",
though it could be done more cleanly with an extension.
</p><p>
Modern (ie GNU) ELF also has various interesting features like symbol
versioning, prelinking etc ...
</p></quote>

<p>The discussion continued on at the time this was written.</p>
</section>



<section 
	title="Building With Intel's Compiler" 
	subject="Building WINE with Intel ICC for Linux"
	archive="http://www.winehq.org/hypermail/wine-devel/2004/05/0192.html" 
	posts="4"
	startdate="05/11/2004"
	enddate="05/13/2004"
>
<topic>Build Process</topic>
<p>Steven Edwards tried compiling with Intel's compiler rather
than GCC:</p>
<quote who="Steven Edwards"><p>
I was able to build WINE with the Intel Compiler for Linux. Intel
allows free usage for non-comercial works so I figured I would check
and see if changing compilers would yield better performance. According
to Intel's site it is supposed to give a 15 to 30% speed boost in
applications. I was able to compile WINE with only about a 10 line
patch. Somehow some of the inline asm is already getting defined by
icc. I am having some problems running graphical applications and maybe
it is related to the code I had to disable. If anyone else wants to
test I figure this might be a good tool to have if you are porting a
Winelib application and want a large performance speed up.
</p><p>
I was able to get all of WINE to build but was not able to run any
graphical applications due to the crash shown in the attached crash.log. 
I was however able to run quite a few console applications including
regresion tests which showed failures quite a few failures.
</p><p>
If anyone is interested in building WINE with the Intel Compiler I will
be happy to test a bit but I don't have a lot of time to put into it.
Attached is my hack.diff and the log from trying to run regedit.
<ol>
<li> Download ICC and run icsvar.sh</li>
<li> apply <a href="http://www.winehq.org/hypermail/wine-devel/2004/05/att-0192/01-hack.diff">the following patch</a></li>
<li> Configure wine with ./configure CC=icc</li>
<li> recompile WINE.</li></ol>
</p></quote>

<p>Mike Hearn wasn't surprised about the crash,
<quote who="Mike Hearn">
No surprise it crashes, this code is setting something in the TEB which
you commented out. Wine won't get anywhere when missing such critical
functions: being able to set and access the TEB is vital for nearly all
Wine functions. For Wine on ICC to be useful that must be fixed.
</quote></p>

<p>Mike also cautioned against expecting any speedups using icc. 
Some of the runtime bottlenecks are due to the Wine architecture
rather than any specific areas gcc fails to optimize.</p>

</section>
<section 
	title="Staying Within 2GB Memory Boundary" 
	subject="Why different use of memory"
	archive="http://www.winehq.org/hypermail/wine-devel/2004/05/0070.html" 
	posts="11"
	startdate="05/04/2004"
	enddate="05/10/2004"
>
<topic>Memory Management</topic>
<p>Bill Medland tracked down a problem that appeared to
be related to Windows expecting a particular memory layout:</p>
<quote who="Bill Medland"><p>
I have this program that I am trying to run under RedHat Enterprise Linux 3.
</p><p>
I have installed the 20031118 rh8 rpm.
(Big saga as to why that one)
</p><p>
When I first run the program after a reboot (of the linux) the program fails
When I run it again it works, and it continues to work until the next reboot.
</p><p>
The BIG difference between the two runs is which memory it uses.  Can anyone 
tell me why it is using such different areas of memory?
</p><p>
When it fails it is basically using memory up at approx 0xb6000000
When it is working it is using memory down at 0x40000000
<ul><tt>
-kernel32.__wine_register_dll_16(40b35374) ret=40a8cc12<br />
+kernel32.__wine_register_dll_16(b6b8f3c4) ret=b6ae6c12</tt></ul></p></quote>

<p>Alexandre sent a short response that identified it as a known problem,
<quote who="Alexandre Julliard">
There's a hack in CrossOver to work around that problem, but it's not
a proper fix. The right way is to reserve the high memory area so that
things don't get mapped there.</quote></p>

<p>Mike Hearn wondered if that affected some other work that's 
been going on,
<quote who="Mike Hearn">
What address range is that? At the moment I think Mike's preloader patch
only reserves the PE load area, DOS area and shared heap area. Is there
another we need?</quote>  Alexandre replied with where the problem was,
<quote who="Alexandre Julliard">
Basically everything above 2Gb. But there's no need to do that in the
preloader, it can be done in the normal init code.</quote></p>

</section>
<section 
	title="Marlett Font Replacement" 
	subject="Marlett Replacement Useful for Wine?"
	archive="http://www.winehq.com/hypermail/wine-devel/2004/04/0833.html"
	posts="5"
	startdate="04/30/2004"
	enddate="05/01/2004"
>
<topic>Graphics</topic>
<p>Fonts are always a bit of a touchy issue.  Many fonts are copyrighted
and can be considered proprietary.  Rob Shearman asked if anyone would be
interested in having some font development done:</p>
<quote who="Robert Shearman"><p>

 I have several people interested in creating a 
 replacement for the Marlett symbol font included in
 Windows (used for drawing of window decorations and 
 some widgets).
 Would this be useful for inclusion in Wine?
 If so, would just the TTF file be ok, or would you need
 whatever propietary formatted file they will probably 
 be working with (I think it will be some Adobe
 product)?</p></quote>

<p>David Hammerton wrote back to say it already existed:</p>
<quote who="David Hammerton"><p>
There already is one.</p><p>

We (TransGaming) created one called TGMarlett which we released under a 
BSD license. It should be floating around somewhere, and at least Huw 
(from CodeWeavers) has it.
</p><p>
Perhaps I should send our version in for inclusion in winehq CVS?
</p><p>

I have both the .ttf and the .sfd - the native file format for the 
program I used.
</p></quote>

<p>Huw replied to mention that he did have it,
<quote who="Huw Davies"> 
Indeed, and very good it is too - nice work!  The only question is
where are we going to put it?  Ideas welcome.</quote></p>

<p>Mike Hearn suggested putting it in dlls/gdi32.  As of yet it
hasn't been committed.</p>
</section></kc>

