[MIPS64] Add support for building Chromium Linux for mips64r2

This change adds missing parts of mips64r2 support.

Bug: 800754
Change-Id: If37183b7c996effe28b7f687ca86ec7f11d90514
Reviewed-on: https://chromium-review.googlesource.com/860058
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#531691}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b6e93fc673900ede618341e9a5cfd66d9261954e
This commit is contained in:
Milko Leporis 2018-01-24 21:40:19 +00:00 коммит произвёл Commit Bot
Родитель 28b7fa02dd
Коммит a02764f4fd
4 изменённых файлов: 22 добавлений и 12 удалений

Просмотреть файл

@ -5,9 +5,9 @@
import("//build/config/sanitizers/sanitizers.gni")
# Temporarily disable tcmalloc on arm64 linux to get rid of compilation errors.
if (is_android || current_cpu == "mipsel" || is_mac || is_ios || is_asan ||
is_lsan || is_tsan || is_msan || is_win || is_syzyasan || is_fuchsia ||
(is_linux && target_cpu == "arm64")) {
if (is_android || current_cpu == "mipsel" || current_cpu == "mips64el" ||
is_mac || is_ios || is_asan || is_lsan || is_tsan || is_msan || is_win ||
is_syzyasan || is_fuchsia || (is_linux && target_cpu == "arm64")) {
_default_allocator = "none"
} else {
_default_allocator = "tcmalloc"

Просмотреть файл

@ -834,11 +834,18 @@ config("compiler_cpu_abi") {
]
}
} else if (mips_arch_variant == "r2") {
cflags += [
"-mips64r2",
"-Wa,-mips64r2",
]
ldflags += [ "-mips64r2" ]
if (is_clang) {
cflags += [
"-march=mips64el",
"-mcpu=mips64r2",
]
} else {
cflags += [
"-mips64r2",
"-Wa,-mips64r2",
]
}
} else if (mips_arch_variant == "loongson3") {
defines += [ "_MIPS_ARCH_LOONGSON" ]
cflags += [

Просмотреть файл

@ -169,8 +169,9 @@ declare_args() {
use_gold =
(!use_lld && !(is_chromecast && is_linux &&
(current_cpu == "arm" || current_cpu == "mipsel")) &&
(is_linux && (current_cpu == "x64" || current_cpu == "x86" ||
current_cpu == "arm" || current_cpu == "mipsel"))) ||
(is_linux &&
(current_cpu == "x64" || current_cpu == "x86" || current_cpu == "arm" ||
current_cpu == "mipsel" || current_cpu == "mips64el"))) ||
(is_android && (current_cpu == "x86" || current_cpu == "x64" ||
current_cpu == "arm" || current_cpu == "arm64"))
}

Просмотреть файл

@ -15,9 +15,9 @@ declare_args() {
# The absolute path to directory containing linux sysroot images
target_sysroot_dir = "//build/linux"
use_sysroot =
current_cpu == "x86" || current_cpu == "x64" || current_cpu == "arm" ||
current_cpu == "arm64" || current_cpu == "mipsel"
use_sysroot = current_cpu == "x86" || current_cpu == "x64" ||
current_cpu == "arm" || current_cpu == "arm64" ||
current_cpu == "mipsel" || current_cpu == "mips64el"
}
if (current_os == target_os && current_cpu == target_cpu &&
@ -37,6 +37,8 @@ if (current_os == target_os && current_cpu == target_cpu &&
sysroot = "$target_sysroot_dir/debian_stretch_i386-sysroot"
} else if (current_cpu == "mipsel") {
sysroot = "$target_sysroot_dir/debian_stretch_mips-sysroot"
} else if (current_cpu == "mips64el") {
sysroot = "$target_sysroot_dir/debian_stretch_mips64el-sysroot"
} else if (current_cpu == "arm") {
sysroot = "$target_sysroot_dir/debian_stretch_arm-sysroot"
} else if (current_cpu == "arm64") {