summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2021-09-03 15:19:41 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-10-04 10:20:47 +0200
commit7802cf1751cd55d3d768fb12597990c8be5fb309 (patch)
treed4c1a80ad56328bf813c94653becd3296015ed7c
parent0ff9e0014bc32c3d13852fc4d92367bac22cb4c1 (diff)
downloadqtwebengine-chromium-7802cf1751cd55d3d768fb12597990c8be5fb309.tar.gz
Add support for mcpu
In case of arm , mcpu can be specified instead of 'march' and 'mtune'. Change-Id: I8318f6dfaf02beb2dad40dec59fc73a263e7d04f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
-rw-r--r--chromium/build/config/arm.gni13
-rw-r--r--chromium/build/config/compiler/BUILD.gn16
2 files changed, 19 insertions, 10 deletions
diff --git a/chromium/build/config/arm.gni b/chromium/build/config/arm.gni
index ddd1c5df823..eb7731337f1 100644
--- a/chromium/build/config/arm.gni
+++ b/chromium/build/config/arm.gni
@@ -36,6 +36,9 @@ if (current_cpu == "arm" || v8_current_cpu == "arm") {
# Thumb is a reduced instruction set available on some ARM processors that
# has increased code density.
arm_use_thumb = true
+
+ # arch + tune
+ arm_cpu = ""
}
if (current_os == "android" || target_os == "android") {
@@ -61,7 +64,7 @@ if (current_cpu == "arm" || v8_current_cpu == "arm") {
}
if (arm_version == 6) {
- if (arm_arch == "") {
+ if (arm_arch == "" && arm_cpu == "") {
arm_arch = "armv6"
}
if (arm_tune != "") {
@@ -76,10 +79,10 @@ if (current_cpu == "arm" || v8_current_cpu == "arm") {
arm_use_thumb = false
arm_use_neon = false
} else if (arm_version == 7) {
- if (arm_arch == "") {
+ if (arm_arch == "" && arm_cpu == "") {
arm_arch = "armv7-a"
}
- if (arm_tune == "") {
+ if (arm_tune == "" && arm_cpu == "") {
arm_tune = "generic-armv7-a"
}
@@ -100,10 +103,10 @@ if (current_cpu == "arm" || v8_current_cpu == "arm") {
}
}
} else if (arm_version == 8) {
- if (arm_arch == "") {
+ if (arm_arch == "" && arm_cpu == "") {
arm_arch = "armv8-a"
}
- if (arm_tune == "") {
+ if (arm_tune == "" && arm_cpu == "") {
arm_tune = "generic-armv8-a"
}
diff --git a/chromium/build/config/compiler/BUILD.gn b/chromium/build/config/compiler/BUILD.gn
index cda452e8a8b..33abfc46b81 100644
--- a/chromium/build/config/compiler/BUILD.gn
+++ b/chromium/build/config/compiler/BUILD.gn
@@ -753,9 +753,12 @@ config("compiler") {
# unless the architecture revision in .ARM.attributes is sufficiently new.
# TODO(pcc): The contents of .ARM.attributes should be based on the
# -march flag passed at compile time (see llvm.org/pr36291).
- if (current_cpu == "arm") {
+ if (current_cpu == "arm" && arm_arch != "") {
ldflags += [ "-march=$arm_arch" ]
}
+ if (current_cpu == "arm" && arm_cpu != "") {
+ ldflags += [ "-mcpu=$arm_cpu" ]
+ }
}
if (compiler_timing) {
@@ -892,10 +895,13 @@ config("compiler_cpu_abi") {
ldflags += [ "--target=arm-linux-gnueabihf" ]
}
if (!is_nacl) {
- cflags += [
- "-march=$arm_arch",
- "-mfloat-abi=$arm_float_abi",
- ]
+ cflags += ["-mfloat-abi=$arm_float_abi"]
+ if (arm_arch != "") {
+ cflags += [ "-march=$arm_arch"]
+ }
+ if (arm_cpu != "") {
+ cflags += [ "-mcpu=$arm_cpu"]
+ }
}
if (arm_tune != "") {
cflags += [ "-mtune=$arm_tune" ]