[Vm-dev] 3.9-7 for Solaris SPARC (problems)
Andreas Wacknitz
A.Wacknitz at gmx.de
Tue Jul 25 14:26:21 UTC 2006
Hi all,
I have successfully compiled SqueakVM-3.9-7 for Solaris 10 (SPARC).
But there were some problems I want to write about.
First, some background:
- For the compilation I have been using Sun's OpenSPARC Cool Tools
(http://cooltools.sunsource.net/gcc/index.html). That is a gcc-4.0.2
frontend and SunStudio's backend. This combination creates 2 to 3 times
faster code than a regular gcc (my own micro benchmarks).
- I run configure --prefix=/opt/squeak as the default /usr/local is inappropriate
for System V.
- Furthermore I used CGLAGS="-O2 -fast" ("-O3 -fast -xipo" had problems).
- It was necessary to use gmake instead of make due to some incompabilities.
I had to correct the source code at four places:
1. .../platforms/unix/vm/aio.c:
System V doesn't know of O_ASYNC. Thus, I had to remove this flag in
aioEnable(int fd, void* data, int flags).
I don't know whether there is an equivalent for System V.
Furthermore, I don't know whether this will be a problem in the resulting
executable.
2. .../platforms/unix/vm/sqUnixMain.c:
PATH_MAX needs an #include <limits.h>
3. .../platforms/unix/vm-sound-Sun/sqUnixSoundSun.c:
static int soundAvailableSpace(void) needs a forward declaration because
of the "static" modifier.
4. .../platforms/unix/src/plugins/UnixProcessPlugin/UnixProcessPlugin.c:
feof() needs an additional cast. Thus,
if ((feof(sqFile->file)) == 0){
gets
if ((feof((FILE *)(sqFile->file))) == 0){
The resulting installation runs fine with two remaining problems:
1. Running squeak I get many "iconv_open: Invalid argument" messages on the console.
2. Some UNIT tests fail: running "Tests-VM : FloatMathPluginTests" gives
"27 run, 18 passes, 0 expected failures, 2 Failures, 7 errors, 0 unexpected passes"
failures: #testFraction
#testTan
errors: #testArcCos
#testArcCosH
#testArcSin
#testArcSinH
#testArcTanH
#testLog
#testLog10
All the errors are due to "primitiveFailed".
I did these tests in an 3.9-7048 image.
Interestingly, running the same tests in the same image on Windows (VM-3.7.1) results in
"27 run, 7 passes, 0 expected failures, 0 failures, 20 errors, 0 unexpected passes".
So, is FloatMathPlugin broken on all VMs and how to get rid of
the annoying warning messages on the console?
Regards,
Andreas
More information about the Vm-dev
mailing list