On Tuesday 24 May 2005 05:56, Eric Frias wrote:
Chuck Hall wrote:
I should have mentioned what tools I'm using and the why I sent the patch. I am using the native Sun assembler and linker. The Sun assembler does not understand the .previous so that is the reason for the patch.
Makes sense. If you get the Sun assembler to work, we should probably make an autoconf test to check which assembler gcc is using. Heck, if you find that Sun's assembler doesn't work, it would be nice to have an autoconf check to put up an error. I don't know of a good way to do this check (aside from testing whether it understands .previous).
Using the binutils from www.blastwave.org I managed to get only the first 5 files of 'make depend' to compile before it had problems with assembler. Seems to be easier to use the native version.
Wine's README says:
Solaris info: You will most likely need to build Wine with the GNU toolchain (gcc, gas, etc.). Warning : installing gas does *not* ensure that it will be used by gcc. Recompiling gcc after installing gas or symlinking cc, as and ld to the gnu tools is said to be necessary. === If you want to compile with the native assembler, you may be in uncharted territory. I've had success with the combination of binutils-2.14 and gcc-3.4.2.
Eric
You all surmise correctly, I don't have a SPARC box so I haven't tested SPARC compatibility though the patches do handle some SPARC things. Since the API is the same all should work OK as far as syscalls go. Wine doesn't build out of the box though!, there are a couple of extra patches that you need to implement SYSV native threads on Solaris 10 or above and some stubs to make some other things work properly (like disabling the debugger and executing libs across a symlink containing a colon ). I publish a kit of patches with each binary I publish but I haven't republished the binary since the latest putback, many of them have now been rolled into CVS wine and are redundant. Some patches may never get in because Alexandre already rejected them. I think there are only one or two essential ones now. (send me an e-mail)
Good idea about the autoconf test for gas support, That's not hard to do, so I'll contribute this ASAP. Sun's as doesn't work (on x86 anyway) the operand orders are different to gas so it won't assemble as expected.
You don't need gnu ld at all, x86 Solaris ld works fine. My GCC is built to use gas + Solaris ld so I can use it to build kernel modules. Aside from libtool feeding it duplicate libraries in kde (which solaris ld doesn't like at all) I rarely have problems with that configuration. I'd recommend this gcc config.
Under x86 Solaris wine works pretty much on a Par with Linux, I even had a reported Success with Lotus Notes which was reported broken for Linux.