Review Request JDK-8175819: OS name and arch in JMOD files should match the values as in the bundle name (original) (raw)

Mandy Chung mandy.chung at oracle.com
Fri Apr 7 20:04:40 UTC 2017


On Apr 6, 2017, at 1:09 AM, Magnus Ihse Bursie <magnus.ihse.bursie at oracle.com> wrote:

Having though this over real hard, I'd realized I need to make a plea for sanity and consistency. I thought I should lay low in this discussion, but I can't. Choosing "amd64" as the name for the 64-bit x86 platform is really, really unfortunate and a step backwards in our effort to standardize the name of this platform.

I think it may be useful to see the value of os.arch system property on all platforms at a glance.

            32-bit  64-bit

linux i386 amd64
arm aarch64 solaris amd64 sparcv9 windows x86 amd64 macos x86_64

It's late in JDK 9. The best is to revisit OS and architecture names in JDK 10 on the consistency and simplicity issue. In the context of JDK-8175819, these are names to pass to jmod —-os-name —-os-arch options. The values are used at resolution time to avoid linking modules for different target platforms into the same image.

As Mark suggests, we use the value of os.arch system property for JMOD file in JDK 9 and we can change the value in JDK 10. No change to system property and bundle names, as we said previously.

We should revisit OS and architecture names in JDK 10. I have updated JDK-8178016 to reflect that. Are you okay with that?

Below shows the old and new values in the release file and the new values are used in JMOD files.

      JDK 8               JDK 9
      -----               -----

OS_NAME Linux linux SunOS solaris Darwin macos Windows windows

OS_ARCH i386,x86 x86 i586,amd64,x86_64 amd64 sparcv9 sparcv9 arm arm aarch64 aarch64

Updated webrev: http://cr.openjdk.java.net/~mchung/jdk9/webrevs/8175819/webrev.01/index.html

Mandy



More information about the build-dev mailing list