3 Replies Latest reply: Jan 14, 2009 5:54 PM by 807557 RSS

    Java RTS requires SSE

      If you run Java RTS on an x86 processor that lacks SSE support, you get an error:

      dl failure on line 719Error: failed /opt/SUNWrtjv/jre/lib/i386/client/libjvm.so, because ld.so.1: java: fatal: /opt/SUNWrtjv/jre/lib/i386/client/libjvm.so: hardware capability unsupported: 0x800 [ SSE ]

      Apparently RTS requires SSE to run. Does anyone know why this is?

      The SSE requirement means that RTS is incapable of running on many embedded processors, such as the AMD Geode.
        • 1. Re: Java RTS requires SSE
          Hi Trevor,

          I'm looking into this. I'm not aware of a requirement for SSE - though it is used if available (I think some FP support uses it, and also perhaps volatile long support).

          David Holmes
          • 2. Re: Java RTS requires SSE

            Can you run JDK5 -client on this system? I can't see anything that would produce the error you reported. I don't have any machines of this kind to test on :(

            David Holmes
            • 3. Re: Java RTS requires SSE
              I just found this:


              So it appears that the binary is marked as using SSE and so Solaris is refusing to run it::

              ELF 32-bit LSB dynamic lib 80386 Version 1 [SSE MMX CX8 FPU], dynamically linked, not stripped, no debugging information available

              FYI this is the same as for JDK7, but JDK5 has no markings. I'll need to check with the rest of the HS team to see what's going on here and whether we should be applying one of the workarounds mentioned in the blog.

              David Holmes