This discussion is archived
3 Replies Latest reply: Jan 14, 2009 3:54 PM by 807557 RSS

Java RTS requires SSE

807557 Newbie
Currently Being Moderated
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
    807557 Newbie
    Currently Being Moderated
    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
    807557 Newbie
    Currently Being Moderated
    Trevor,

    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
    807557 Newbie
    Currently Being Moderated
    I just found this:

    http://blogs.sun.com/alblog/entry/ridding_or_modifying_hardware_capabilities

    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