Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6359699

Missing -xmemalign=4s option with SS11 (5.8) compilers, and -xregs=no%frameptr

XMLWordPrintable

    • b64
    • generic
    • generic

      Just realized that some of the compiler option tests for 5.7 belong to 5.8 as well, so it should have been 5.7 or newer:

      j2se/make/common/Defs-solaris.gmk:

        ifeq ($(COMPILER_REV), 5.7)
          # Do NOT use the frame pointer register as a general purpose opt register
          CFLAGS_REQUIRED_i586 += -xregs=no%frameptr
          CFLAGS_REQUIRED_amd64 += -xregs=no%frameptr
          # We MUST allow data alignment of 4 for sparc (sparcv9 is ok at 8s)
          CFLAGS_REQUIRED_sparc += -xmemalign=4s
        endif

      NOTE: This is for sparc (v8 or 32bit) only, NOT FOR SPARCV9!

      The hotspot and other workspaces look ok, this is the only problem I saw.

      I think this needs to be 5.7 or greater, e.g. something like

      ifeq ($(shell $(EXPR) $(COMPILER_REV) \> 5.6), 1)

      See 6238560 for why this needs to be 4s (abi issue for jni libraries).
      There is also a use of -xmemalign=8s with CC_HIGHEST_OPT, which is the default anyway on sparcv9, but using this on sparcv8 might be an issue. Needs investigation.

            ohair Kelly Ohair (Inactive)
            ohair Kelly Ohair (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: