# HG changeset patch # User andrew # Date 1366230418 -3600 # Node ID c38773b3f40337ed8a808870733d01eb76b94062 # Parent be28736de08586dba2525b586a3db1544369f80b PR1378: Add AArch64 support to Zero diff -r be28736de085 -r c38773b3f403 src/os/linux/vm/os_linux.cpp --- a/src/os/linux/vm/os_linux.cpp Wed May 22 17:57:02 2013 +0100 +++ b/src/os/linux/vm/os_linux.cpp Wed Apr 17 21:26:58 2013 +0100 @@ -129,6 +129,11 @@ #define ALL_64_BITS CONST64(0xFFFFFFFFFFFFFFFF) #define LARGEPAGES_BIT (1 << 6) + +#ifndef EM_AARCH64 +#define EM_AARCH64 183 /* ARM AARCH64 */ +#endif + //////////////////////////////////////////////////////////////////////////////// // global variables julong os::Linux::_physical_memory = 0; @@ -1890,7 +1895,8 @@ {EM_MIPS, EM_MIPS, ELFCLASS32, ELFDATA2MSB, (char*)"MIPS"}, {EM_PARISC, EM_PARISC, ELFCLASS32, ELFDATA2MSB, (char*)"PARISC"}, {EM_68K, EM_68K, ELFCLASS32, ELFDATA2MSB, (char*)"M68k"}, - {EM_SH, EM_SH, ELFCLASS32, ELFDATA2LSB, (char*)"SH"} /* Support little endian only*/ + {EM_SH, EM_SH, ELFCLASS32, ELFDATA2LSB, (char*)"SH"}, /* Support little endian only*/ + {EM_AARCH64, EM_AARCH64, ELFCLASS64, ELFDATA2LSB, (char*)"AARCH64"} /* Support little endian only*/ }; #if (defined IA32) @@ -1923,6 +1929,8 @@ static Elf32_Half running_arch_code=EM_68K; #elif (defined SH) static Elf32_Half running_arch_code=EM_SH; + #elif (defined AARCH64) + static Elf32_Half running_arch_code=EM_AARCH64; #else #error Method os::dll_load requires that one of following is defined:\ IA32, AMD64, IA64, __sparc, __powerpc__, ARM, S390, ALPHA, MIPS, MIPSEL, PARISC, M68K, SH