Cross Compiling for x86_64 on x86

David Holmes - Sun Microsystems David.Holmes at Sun.COM
Mon Dec 7 09:32:42 UTC 2009


To cross-compile you need a toolset that supports cross-compilation - 
including any tools used internally in the JDK. I'm not sure if the 
existing toolsets - eg adlc - qualify.

At a minimum you need to ensure you explicitly set the following:

os_family = linux
arch = x86
arch_model = x86_64
os_arch = linux_x86
os_arch_model = linux_x86_64
lib_arch = amd64

otherwise they will be determined from the properties of the build machine.

I don't know if anyone has tried this, but it is where I would start.

Note that building 32-bit on 64-bit is not truly cross-compiling because 
you simply execute the 32-bit tools on the 64-bit system.


David Holmes

Deepak Mathews said the following on 12/07/09 16:36:
> Hi,
> I am trying to cross compile for x86 64 bit from a x86 32 bit host machine.
> I am facing a lot of issues in this regard.
> Has anyone been able to successfully do this.
> Why is the target being linked against which is in the 
> ALT_BOOTDIR on the host system. 
> Even if i fix that issue by copying from a 64bit JDK, an adlc 
> utility is run during the compilation, which is of 64 bit, so cannot be 
> executed on the host machine.
> Thanks.
> Deepak

More information about the build-dev mailing list