blob: 99e033925f97bcf974d6c96ea26bfeeb2c69c6c2 [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "native_client/src/trusted/platform_qualify/nacl_os_qualify.h"
#include "ppapi/native_client/src/trusted/plugin/nexe_arch.h"
// The list of supported ISA strings for x86. See issue:
// http://code.google.com/p/nativeclient/issues/detail?id=1040 for more
// information. Note that these string are to be case-insensitive compared.
const char kNexeArchX86_64[] = "x86-64";
#if !((NACL_ARCH(NACL_BUILD_ARCH) == NACL_x86 && NACL_BUILD_SUBARCH == 64) && \
(defined(NACL_LINUX) || defined(NACL_OSX)))
const char kNexeArchX86_32[] = "x86-32";
#endif
namespace plugin {
const char* GetSandboxISA() {
#if (NACL_ARCH(NACL_BUILD_ARCH) == NACL_x86 && NACL_BUILD_SUBARCH == 64) && \
(defined(NACL_LINUX) || defined(NACL_OSX))
return kNexeArchX86_64; // 64-bit Linux or Mac.
#else
return NaClOsIs64BitWindows() == 1
? kNexeArchX86_64 // 64-bit Windows (Chrome, Firefox)
: kNexeArchX86_32; // everything else.
#endif
}
} // namespace plugin