[aarch64-port-dev ] Review Request JDK-8175819: OS name and arch in JMOD files should match the values as in the bundle name
bob.vandette at oracle.com
Tue Apr 4 16:47:50 UTC 2017
> On Apr 4, 2017, at 12:35 PM, mark.reinhold at oracle.com wrote:
> 2017/4/4 8:22:50 -0700, aph at redhat.com:
>> On 04/04/17 16:12, mark.reinhold at oracle.com wrote:
>>> The trouble here is that "arm64" and "aarch64" are effectively synonyms
>>> for the ISA, but in the JDK we've wound up using them as the names of
>>> two different ports.
>>> A JMOD file built for the 64-bit ARM architecture will (one hopes) run
>>> equally well on either port. Which name should we use in JMOD files,
>>> "arm64" or "aarch64"? My sense is that "arm64" is more immediately
>>> understood by developers at large even if "aarch64" is more correct
>>> in the eyes of ARM Holdings plc, but I could be wrong.
>> I think that you are wrong.
>>> For what it's worth, the Linux distros aren't consistent: Debian-based
>>> distros use "arm64", while Red Hat / Fedora seem to prefer "aarch64".
>> The name of the processor architecture is "AArch64". The name of the
>> Linux kernel architecture is "arm64"; the name of all of userspace is
>> "aarch64", on all distros. The kernel is out of step here, for no
>> better reason than Linus Torvalds didn't like "aarch64".
> Thanks for the background -- I wasn't aware of that.
> Given that "os.arch" is "aarch64" for both ports, as Bob points out,
> then we should use "aarch64" in JMOD files as well.
> This does raise another question, though: Should we use "aarch32"
> instead of "arm32" for the 32-bit ARM architecture?
32 bit ARM is a bit more challenging since OS vendors sometime encode the
architecture version (armv5, armv6, armv7) and endianess into the uname -p output.
aarch32 has special meaning (it’s the arch for running 32-bit arm instructions on an armv8
processor.) and I haven’t seen any use of arm32.
I suggest we stick with arm.
> - Mark
More information about the jigsaw-dev