Wine on Sparc
Eric Frias
efrias at syncad.com
Mon May 23 12:55:30 CDT 2005
Chuck Hall wrote:
> I have heard that people are using Wine on Solaris. I would like to know
> if they are using Wine on the SPARC version or the x86 version of Solaris?
I'm using it on the Sparc version, with Solaris 7 and 8. Winelib only,
of course, none of the emulation stuff is going to work on Sparc.
> There does seem to be code within Wine to have it run on SPARC machines,
> but it currently does not seem to compile, at least on the Solaris
> version.
Right now I'm using an old version of wine circa November 2004, and it
needed a few minor fixes to work correctly. I'm in the process of
upgrading to the latest & greatest, and unless there are major problems
I plan on getting it working sometime this week. In the past, upgrades
haven't been too much of a problem. When I get it working, I'll try to
get my patches back to the wine-patches list promptly.
I posted my last batch of patches to wine-patches back on 2004-11-17,
and I know some of them didn't make it into CVS. I also saw some
patches posted to one of the wine lists around 2005-05-07 by Robert
Lunnon with titles like "Solaris Compatibility" that you might want to
look at. I don't know if his patches were for Sparc or x86, or if
they've been accepted.
> I have attached a small patch that allows me to get throught the 'make
> depend' section of the compile. Since it is my first patch, please look
> at and let me know what I did wrong :)
> [...]
> -#if defined(__GNUC__) && !defined(__MINGW32__) && !defined(__CYGWIN__) && !defined(__APPLE__)
> +#if defined(__GNUC__) && !defined(__MINGW32__) && !defined(__CYGWIN__) && !defined(__APPLE__) && !defined(__sparc__)
I haven't tried this with the current code, but in my working version of
wine, I didn't make the same change. My port.h contains:
===
/* Macros to define assembler functions somewhat portably */
#if defined(__GNUC__) && !defined(__MINGW32__) && !defined(__CYGWIN__)
&& !defined(__APPLE__)
# define __ASM_GLOBAL_FUNC(name,code) \
__asm__( ".text\n\t" \
".align 4\n\t" \
".globl " __ASM_NAME(#name) "\n\t" \
__ASM_FUNC(#name) "\n" \
__ASM_NAME(#name) ":\n\t" \
code \
"\n\t.previous" );
#else /* defined(__GNUC__) && !defined(__MINGW32__) &&
!defined(__APPLE__) */
===
I'm not sure how to explain why this isn't working for you. I know we
compile with a version of gcc that is configured to use the GNU
assembler and GNU linker from binutils. Perhaps yours is using the
native Solaris assembler, and it doesn't understand .previous? The
assembly portions might only compile correctly with the GNU assembler.
Eric
More information about the wine-devel
mailing list