src/os/linux/vm/os_linux.cpp
Print this page
@@ -286,11 +286,15 @@
#elif defined(ARM)
static char cpu_arch[] = "arm";
#elif defined(PPC32)
static char cpu_arch[] = "ppc";
#elif defined(PPC64)
+#if defined VM_LITTLE_ENDIAN
+static char cpu_arch[] = "ppc64le";
+#else
static char cpu_arch[] = "ppc64";
+#endif
#elif defined(SPARC)
# ifdef _LP64
static char cpu_arch[] = "sparcv9";
# else
static char cpu_arch[] = "sparc";
@@ -1977,20 +1981,28 @@
#ifndef EM_486
#define EM_486 6 /* Intel 80486 */
#endif
+ #if defined(PPC64)
+ #if defined(VM_LITTLE_ENDIAN)
+ #define PPC64_ELFDATA2XSB ELFDATA2LSB
+ #else
+ #define PPC64_ELFDATA2XSB ELFDATA2MSB
+ #endif
+ #endif
+
static const arch_t arch_array[]={
{EM_386, EM_386, ELFCLASS32, ELFDATA2LSB, (char*)"IA 32"},
{EM_486, EM_386, ELFCLASS32, ELFDATA2LSB, (char*)"IA 32"},
{EM_IA_64, EM_IA_64, ELFCLASS64, ELFDATA2LSB, (char*)"IA 64"},
{EM_X86_64, EM_X86_64, ELFCLASS64, ELFDATA2LSB, (char*)"AMD 64"},
{EM_SPARC, EM_SPARC, ELFCLASS32, ELFDATA2MSB, (char*)"Sparc 32"},
{EM_SPARC32PLUS, EM_SPARC, ELFCLASS32, ELFDATA2MSB, (char*)"Sparc 32"},
{EM_SPARCV9, EM_SPARCV9, ELFCLASS64, ELFDATA2MSB, (char*)"Sparc v9 64"},
{EM_PPC, EM_PPC, ELFCLASS32, ELFDATA2MSB, (char*)"Power PC 32"},
- {EM_PPC64, EM_PPC64, ELFCLASS64, ELFDATA2MSB, (char*)"Power PC 64"},
+ {EM_PPC64, EM_PPC64, ELFCLASS64, PPC64_ELFDATA2XSB, (char*)"Power PC 64"},
{EM_ARM, EM_ARM, ELFCLASS32, ELFDATA2LSB, (char*)"ARM"},
{EM_S390, EM_S390, ELFCLASSNONE, ELFDATA2MSB, (char*)"IBM System/390"},
{EM_ALPHA, EM_ALPHA, ELFCLASS64, ELFDATA2LSB, (char*)"Alpha"},
{EM_MIPS_RS3_LE, EM_MIPS_RS3_LE, ELFCLASS32, ELFDATA2LSB, (char*)"MIPSel"},
{EM_MIPS, EM_MIPS, ELFCLASS32, ELFDATA2MSB, (char*)"MIPS"},