diff options
author | Michal Klocek <michal.klocek@qt.io> | 2021-09-03 15:19:41 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-10-04 10:20:47 +0200 |
commit | 7802cf1751cd55d3d768fb12597990c8be5fb309 (patch) | |
tree | d4c1a80ad56328bf813c94653becd3296015ed7c | |
parent | 0ff9e0014bc32c3d13852fc4d92367bac22cb4c1 (diff) | |
download | qtwebengine-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.gni | 13 | ||||
-rw-r--r-- | chromium/build/config/compiler/BUILD.gn | 16 |
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" ] |