Re: Problem with sableVM on AIX Platforms
Peter Lovell <[email protected]>
| Newsgroups | gmane.comp.java.vm.sablevm.general |
|---|---|
| Message-ID | <[email protected]> |
Hello David, I have been able to build and run sabvlevm+classpath quite successfully(*) on Mac OS X, using PowerPC CPU. It may be that there are differences between PowerPC and POWER(AIX) instruction sets but I think (hope) those would be relatively minor. But perhaps not. When you have the opportunity, can you point me to the specific bug about assembly code? Thanks.....Peter * there's one minor patch required related to definition of socklen_t, which was mentioned on the list recently and for which I'm working on a patch. On Dec 20, 2004, at 2:27 PM, David Bélanger wrote: > >> >> * Secondly, the code does not recognize the Endianess of the machine >> and throws an error in the native/fdlibm/ieeefp.h file stating >> "Endianess not declared!!" error. As a resolution I had added the >> following lines of code in the header file: >> >> #if (defined(_AIX) && _AIX) >> #define __IEEE_BIG_ENDIAN >> #endif >> > > I had similar problems with OS X. I see: > > #if defined (__PPC__) || defined (__ppc__) > #if (defined(_BIG_ENDIAN) && _BIG_ENDIAN) || (defined(_AIX) && _AIX) \ > || defined (__APPLE__) > #define __IEEE_BIG_ENDIAN > #else > #if (defined(_LITTLE_ENDIAN) && _LITTLE_ENDIAN) || (defined(__sun__) > && __sun__) > || (defined(__WIN32__) && __WIN32__) > #define __IEEE_LITTLE_ENDIAN > #endif > #endif > #endif > > So I guess __PPC__ or __ppc__ not defined. Am not not quite sure what > would actually be the correct way to fix it. > >> Though I am able to successfully build the libraries using the >> following configure command, can anyone confirm that this will not >> lead to problems as it seems the sableVM code does not support the >> AIX platforms. >> >> ./configure --prefix=/opt/seclient1 \ >> --enable-java \ >> --with-jikes \ >> --enable-jni \ >> --disable-gtk-peer \ >> --with-find=/usr/linux/bin/find \ >> CPPFLAGS=-I/opt/seclient1/include \ >> LDFLAGS=-L/opt/seclient1/lib 2>&1 | tee ../conf.out >> >> Moreover the sableVM code also does not recognise the IBM >> architecture and gives problems with the Assembly code. >> > > There is a bug report about the assembly code issue: > http://sablevm.org/bugs (SableVM website seems down currently...) > > Either problems with assembly syntax or instructions used unsupported > by > that CPU. I don't think any of the current SableVM developer have > access to a AIX machine. There are a few lines of assembly code for > two > task: > 1) compare and swap implementation (synchronization primitive) > 2) flushing/invalidating the the instruction cache > These should be all located in file: > src/libsablevm/system.c (and/or .h) > > > David