Wine 64 bit
Josh DuBois
duboisj at codeweavers.com
Tue May 5 13:44:21 CDT 2015
On 4/29/15 1:08 PM, Charles Davis wrote:
> I’m tempted to say that your fix will reduce the performance of the relays slightly (since we’re loading the XMM registers from memory instead of from registers), but then it occurred to me that since we loaded that chunk of memory recently anyway, it should be cached.
>
> My other concern is that as(1) is basically in maintenance mode now that we have Clang. (That’s why we still have bugs in it like the issue with ‘movq’ from registers.) I think Apple at some point wants to kill it off—or at least make -q the default.
I imagine that the performance hit will not be a major problem. If it
is important to preserve the current relay code in situations where the
change is not necessary for compilation, I suppose it could be made
conditional on gcc, or even on the version of as being used. I agree
that Apple's old as is probably on its last legs, but it's still in use
and at present it still seems to be the easiest route to building 64-bit
wine on OS X. (Otherwise you need to use both GCC (for compilation) and
Clang (for assembly), and also to modify the build to both use Clang as
an assembler and make sure -gstabs+ is not present so that Clang's
assembler won't choke on the unrecognized directives.)
> All right. But even with AJ’s suggestion (using separate wine32/wine64 directories for our DLLs), libwine itself still needs to be built fat, because it’s installed directly to $(libdir). For now, I think I’ll submit my patch to configure.
I was able to follow the WoW64 instructions on the winehq wiki and build
a 32/64 wine install by just a sudo make install on OS X. Wine's 32-bit
stuff went in /usr/local/lib and the 64-bit stuff in /usr/local/lib64
(that latter dir had nothing but wine libs). In your prior post you
attached a configure patch that checked for __builtin_ms_va_list support
as well as adding -pagezero_size,0x1000 to LDEXECFLAGS. I've still only
been using the last hunk of that patch - the pagezero stuff. I didn't
see the configure patch come across wine-patches. If you're concerned
the rest might not be accepted, maybe a patch with the pagezero stuff
alone would make it now?
The prefix I created ran at least one 64-bit Windows application without
apparent errors: I ran a 64-bit version of PilotEdit (
http://www.pilotedit.com/Download.html ). The other things I tried
crashed, but at least the installation allowed for some testing.
Since I've gotten an OS X wine install that runs a 64-bit windows app
without using a patched set of build tools, I guess I'll submit the movq
patch and see whether that gets in. Maybe then it will be easier to
tell how many 64-bit apps will actually run on OS X.
More information about the wine-devel
mailing list