os.arch "amd64" or "x86_64"?

Scott Palmer swpalmer at gmail.com
Mon Feb 6 16:53:54 PST 2012

I am using x86_64 with JDK 6 builds on OS X…  So that is the value that "people are relying on" for the OS X platform, and therefore the value that must be preserved in JDK 7.

The JDK 6 "java" command on OS X mentions this value as well, so it technically isn't even restricted to internal developer details (though most non-developers on OS X would never run "java" from the command line).

>java -?
where options include:
    -d32          use a 32-bit data model if available
    -d64          use a 64-bit data model if available (implies -server, only for x86_64)


Scott P.

On 2012-02-06, at 7:33 PM, Kelly O'Hair wrote:

> When you say don't change this, could you be clear what os.arch setting you want?
> I'm advocating changing the existing code to use x86_64, so we match Apple's JDK6.
> -kto
> On Feb 6, 2012, at 4:05 PM, steve.x.northover at oracle.com wrote:
>> Please don't change this.  People rely on values like this and you will break them -- guaranteed.
>> Steve
>> On 06/02/2012 6:07 PM, Scott Kovatch wrote:
>>> On Feb 6, 2012, at 2:51 PM, Michael McMahon wrote:
>>>> Following from the last message, I just want to get opinions on this question.
>>>> Currently, the os.arch system property is set to "amd64" in common with the
>>>> other platforms (solaris, windows and Linux) when running on an amd64/x86_64 CPU.
>>>> However, the property is set to "x86_64" in Apple's Java 6 runtime.
>>>> So, the question is, what/if any compatibility issues could there be, if we maintain
>>>> this behavior? On the other hand there probably should be a good reason to change it
>>>> so it's different from the other 64 bit platforms.
>>> Web Start is the main area of compatibility that I know of. By changing it to 'amd64' developers would need to rev their JNLP files to handle the new value for os.arch on the Mac.
>>> For bundled applications Apple supported per-architecture JVM options in the application's Info.plist, but developers will need to rebundle with JDK 7 anyway. It won't be an issue unless we need to support universal binaries for non-Oracle-provided JDK distributions.
>>> -- Scott K.

More information about the macosx-port-dev mailing list