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

Change os.arch property from "i386" to "x86" on Linux

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Won't Fix
    • Icon: P4 P4
    • None
    • 1.4.0
    • core-libs
    • None

      4468998, originally a Solaris 9 showstopper (P1/S1), was diagnosed as
      requiring two bug fixes: the 32-bit and 64-bit JVMs on Solaris/SPARC
      had to be distinguishable via the "os.arch" system property (sparc
      vs. sparcv9), and the Linux port of the JDK needed to have the same
      value for this property as the Solaris/x86 and Windows ports.
      Formerly, the Linux port reported "i386" and the others "x86", due to
      a bug in src/solaris/native/java/lang/java_props_md.c in the JDK
      source tree.

      Both of these changes were made and checked in to the Merlin tree.
      Subsequently, a concern was voiced by Steve.Wilson@eng and
      Mark.Reinhold@eng that this may break backward compatibility with
      applications on Linux; apparently the fact that Linux returns "i386"
      as the os.arch property dates back to 1.2.2. After further discussion
      with Michael.Martak@eng (the original filer of 4468998), it was
      discovered that the "i386" -> "x86" translation on Linux was not
      required for the Solaris 9 fix.

      This request is to allow the i386/x86 bug fix in java_props_md.c to
      remain fixed, rather than being backed out, for the following reasons:

       - It is more difficult to explain to end users that they will receive
         different values for the os.arch property on the _same_
         architecture but different operating systems.

       - It is obviously a bug, not an intended feature.

       - Just because a bug is three years old does not mean that it can not
         or should not be fixed.

       - The values of system properties are not publicly specified, and are
         allowed to change at any time.

      Risk assessment:

      Existing applications on Linux may break (failing to find native
      libraries, for example). However, given the fact that there has been a
      discrepancy in the os.arch value across platforms for so long, it is
      likely that customers are already translating one value into the
      other. Internal testing has not identified any problems related to
      this change, which first appeared in 1.4 build 69.

            kbr Kenneth Russell (Inactive)
            kbr Kenneth Russell (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: