[v3] config/arm: correct cpu arch for cross build

Message ID 20231120092431.4010750-1-joyce.kong@arm.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series [v3] config/arm: correct cpu arch for cross build |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/github-robot: build success github build: passed
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/intel-Functional success Functional PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-sample-apps-testing success Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-unit-amd64-testing success Testing PASS
ci/iol-compile-amd64-testing success Testing PASS
ci/iol-compile-arm64-testing fail Testing issues
ci/iol-unit-arm64-testing fail Testing issues

Commit Message

Joyce Kong Nov. 20, 2023, 9:24 a.m. UTC
  The cn10k cross build file sets cpu to 'armv8.6-a' while
it is armv8.5-a arch.
Meanwhile, the cpu field in the cross file doesn't take
effect as config/arm/meson.build controls machine_args
for march. Then change the 'cpu' value in all arm cross
files to 'auto'.

Signed-off-by: Joyce Kong <joyce.kong@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
---
 config/arm/arm32_armv8_linux_gcc          | 2 +-
 config/arm/arm64_altra_linux_gcc          | 2 +-
 config/arm/arm64_ampereone_linux_gcc      | 2 +-
 config/arm/arm64_armada_linux_gcc         | 2 +-
 config/arm/arm64_armv8_linux_clang_ubuntu | 2 +-
 config/arm/arm64_armv8_linux_gcc          | 2 +-
 config/arm/arm64_bluefield3_linux_gcc     | 2 +-
 config/arm/arm64_bluefield_linux_gcc      | 2 +-
 config/arm/arm64_cdx_linux_gcc            | 2 +-
 config/arm/arm64_centriq2400_linux_gcc    | 2 +-
 config/arm/arm64_cn10k_linux_gcc          | 2 +-
 config/arm/arm64_cn9k_linux_gcc           | 2 +-
 config/arm/arm64_dpaa_linux_gcc           | 2 +-
 config/arm/arm64_emag_linux_gcc           | 2 +-
 config/arm/arm64_ft2000plus_linux_gcc     | 2 +-
 config/arm/arm64_graviton2_linux_gcc      | 2 +-
 config/arm/arm64_graviton3_linux_gcc      | 2 +-
 config/arm/arm64_hip10_linux_gcc          | 2 +-
 config/arm/arm64_kunpeng920_linux_gcc     | 2 +-
 config/arm/arm64_kunpeng930_linux_gcc     | 2 +-
 config/arm/arm64_n1sdp_linux_gcc          | 2 +-
 config/arm/arm64_n2_linux_gcc             | 2 +-
 config/arm/arm64_stingray_linux_gcc       | 2 +-
 config/arm/arm64_thunderx2_linux_gcc      | 2 +-
 config/arm/arm64_thunderxt83_linux_gcc    | 2 +-
 config/arm/arm64_thunderxt88_linux_gcc    | 2 +-
 config/arm/arm64_tys2500_linux_gcc        | 2 +-
 27 files changed, 27 insertions(+), 27 deletions(-)
  

Comments

Thomas Monjalon Nov. 20, 2023, 4:54 p.m. UTC | #1
20/11/2023 10:24, Joyce Kong:
> The cn10k cross build file sets cpu to 'armv8.6-a' while
> it is armv8.5-a arch.
> Meanwhile, the cpu field in the cross file doesn't take
> effect as config/arm/meson.build controls machine_args
> for march. Then change the 'cpu' value in all arm cross
> files to 'auto'.
> 
> Signed-off-by: Joyce Kong <joyce.kong@arm.com>
> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>

What did you change compared to v2?
Please take care of providing a changelog after "---"

I still see the same error on my machine:
config/meson.build:178:8: ERROR: Problem encountered:
Compiler does not support "native" arch flag.
  
Joyce Kong Nov. 22, 2023, 7:10 a.m. UTC | #2
> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Tuesday, November 21, 2023 12:55 AM
> To: Joyce Kong <Joyce.Kong@arm.com>
> Cc: Ruifeng Wang <Ruifeng.Wang@arm.com>; bruce.richardson@intel.com;
> dev@dpdk.org; nd <nd@arm.com>
> Subject: Re: [PATCH v3] config/arm: correct cpu arch for cross build
> 
> 20/11/2023 10:24, Joyce Kong:
> > The cn10k cross build file sets cpu to 'armv8.6-a' while it is
> > armv8.5-a arch.
> > Meanwhile, the cpu field in the cross file doesn't take effect as
> > config/arm/meson.build controls machine_args for march. Then change
> > the 'cpu' value in all arm cross files to 'auto'.
> >
> > Signed-off-by: Joyce Kong <joyce.kong@arm.com>
> > Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
> 
> What did you change compared to v2?
> Please take care of providing a changelog after "---"
> 
> I still see the same error on my machine:
> config/meson.build:178:8: ERROR: Problem encountered:
> Compiler does not support "native" arch flag.
> 

The patch "config: verify machine arch flag (b7676fcccab4) " introduces a verification for specified cpu_instruction_set.

When cpu set to 'auto' as my patch, the below code in config/meson.build changes it to 'native' and triggers the verification error. However, the platform couldn't be 'native' or 'generic' for cross build. Changing cpu_instruction_set from 'auto' to 'native' is unreasonable here. I would like to send a patch to move the below code to not cross build path.

"if platform == 'native'
    if cpu_instruction_set == 'auto'
        cpu_instruction_set = 'native'
    endif
elif platform == 'generic'
    if cpu_instruction_set == 'auto'
        cpu_instruction_set = 'generic'
    endif
endif"

And I would like to update cpu value in the cross file to aarch64 instead of auto, to avoid any further possible verification.
  

Patch

diff --git a/config/arm/arm32_armv8_linux_gcc b/config/arm/arm32_armv8_linux_gcc
index 269a60ba19..af1c8b68c3 100644
--- a/config/arm/arm32_armv8_linux_gcc
+++ b/config/arm/arm32_armv8_linux_gcc
@@ -9,7 +9,7 @@  pcap-config = ''
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch32'
-cpu = 'armv8-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_altra_linux_gcc b/config/arm/arm64_altra_linux_gcc
index ce0667ebe2..972de20614 100644
--- a/config/arm/arm64_altra_linux_gcc
+++ b/config/arm/arm64_altra_linux_gcc
@@ -9,7 +9,7 @@  pcap-config = ''
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8.2-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_ampereone_linux_gcc b/config/arm/arm64_ampereone_linux_gcc
index 8964432a74..f1235993d8 100644
--- a/config/arm/arm64_ampereone_linux_gcc
+++ b/config/arm/arm64_ampereone_linux_gcc
@@ -9,7 +9,7 @@  pcap-config = ''
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8.6-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_armada_linux_gcc b/config/arm/arm64_armada_linux_gcc
index 635b4946a3..7f9090bb44 100644
--- a/config/arm/arm64_armada_linux_gcc
+++ b/config/arm/arm64_armada_linux_gcc
@@ -10,7 +10,7 @@  pcap-config = ''
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_armv8_linux_clang_ubuntu b/config/arm/arm64_armv8_linux_clang_ubuntu
index 86ae43937b..3d52a5e32e 100644
--- a/config/arm/arm64_armv8_linux_clang_ubuntu
+++ b/config/arm/arm64_armv8_linux_clang_ubuntu
@@ -10,7 +10,7 @@  pkgconfig = 'aarch64-linux-gnu-pkg-config'
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_armv8_linux_gcc b/config/arm/arm64_armv8_linux_gcc
index 529694b49d..98efa7fd2d 100644
--- a/config/arm/arm64_armv8_linux_gcc
+++ b/config/arm/arm64_armv8_linux_gcc
@@ -9,7 +9,7 @@  pcap-config = ''
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_bluefield3_linux_gcc b/config/arm/arm64_bluefield3_linux_gcc
index 775cf5883d..cf58b4aa6b 100644
--- a/config/arm/arm64_bluefield3_linux_gcc
+++ b/config/arm/arm64_bluefield3_linux_gcc
@@ -9,7 +9,7 @@  pcap-config = ''
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8.4-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_bluefield_linux_gcc b/config/arm/arm64_bluefield_linux_gcc
index 1286227915..d38922fea5 100644
--- a/config/arm/arm64_bluefield_linux_gcc
+++ b/config/arm/arm64_bluefield_linux_gcc
@@ -9,7 +9,7 @@  pcap-config = ''
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_cdx_linux_gcc b/config/arm/arm64_cdx_linux_gcc
index 8e6d619dae..be2aa56430 100644
--- a/config/arm/arm64_cdx_linux_gcc
+++ b/config/arm/arm64_cdx_linux_gcc
@@ -10,7 +10,7 @@  pcap-config = ''
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_centriq2400_linux_gcc b/config/arm/arm64_centriq2400_linux_gcc
index bc8737e072..ad08b2b83c 100644
--- a/config/arm/arm64_centriq2400_linux_gcc
+++ b/config/arm/arm64_centriq2400_linux_gcc
@@ -9,7 +9,7 @@  pcap-config = ''
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_cn10k_linux_gcc b/config/arm/arm64_cn10k_linux_gcc
index fa904af5d0..ad403c3aa0 100644
--- a/config/arm/arm64_cn10k_linux_gcc
+++ b/config/arm/arm64_cn10k_linux_gcc
@@ -10,7 +10,7 @@  cmake = 'cmake'
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8.6-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_cn9k_linux_gcc b/config/arm/arm64_cn9k_linux_gcc
index 646ce4b5d3..f2947e94c0 100644
--- a/config/arm/arm64_cn9k_linux_gcc
+++ b/config/arm/arm64_cn9k_linux_gcc
@@ -10,7 +10,7 @@  cmake = 'cmake'
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_dpaa_linux_gcc b/config/arm/arm64_dpaa_linux_gcc
index 8465b5097b..e60edbaafb 100644
--- a/config/arm/arm64_dpaa_linux_gcc
+++ b/config/arm/arm64_dpaa_linux_gcc
@@ -10,7 +10,7 @@  pcap-config = ''
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_emag_linux_gcc b/config/arm/arm64_emag_linux_gcc
index 248169ed68..10e2e83b56 100644
--- a/config/arm/arm64_emag_linux_gcc
+++ b/config/arm/arm64_emag_linux_gcc
@@ -9,7 +9,7 @@  pcap-config = ''
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_ft2000plus_linux_gcc b/config/arm/arm64_ft2000plus_linux_gcc
index ae9f779056..8d65d18b8d 100644
--- a/config/arm/arm64_ft2000plus_linux_gcc
+++ b/config/arm/arm64_ft2000plus_linux_gcc
@@ -9,7 +9,7 @@  pcap-config = ''
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_graviton2_linux_gcc b/config/arm/arm64_graviton2_linux_gcc
index fdb298bb11..adc96598e0 100644
--- a/config/arm/arm64_graviton2_linux_gcc
+++ b/config/arm/arm64_graviton2_linux_gcc
@@ -9,7 +9,7 @@  pcap-config = ''
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_graviton3_linux_gcc b/config/arm/arm64_graviton3_linux_gcc
index 19b422075d..805566ae85 100644
--- a/config/arm/arm64_graviton3_linux_gcc
+++ b/config/arm/arm64_graviton3_linux_gcc
@@ -9,7 +9,7 @@  pcap-config = ''
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_hip10_linux_gcc b/config/arm/arm64_hip10_linux_gcc
index 2943e4abbf..5a769d27d2 100644
--- a/config/arm/arm64_hip10_linux_gcc
+++ b/config/arm/arm64_hip10_linux_gcc
@@ -9,7 +9,7 @@  pcap-config = ''
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_kunpeng920_linux_gcc b/config/arm/arm64_kunpeng920_linux_gcc
index 193fb48a61..ea0f3f96d6 100644
--- a/config/arm/arm64_kunpeng920_linux_gcc
+++ b/config/arm/arm64_kunpeng920_linux_gcc
@@ -9,7 +9,7 @@  pcap-config = ''
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_kunpeng930_linux_gcc b/config/arm/arm64_kunpeng930_linux_gcc
index e4281ceb4f..3a928ee998 100644
--- a/config/arm/arm64_kunpeng930_linux_gcc
+++ b/config/arm/arm64_kunpeng930_linux_gcc
@@ -9,7 +9,7 @@  pcap-config = ''
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_n1sdp_linux_gcc b/config/arm/arm64_n1sdp_linux_gcc
index 2806a4241b..6eef27291a 100644
--- a/config/arm/arm64_n1sdp_linux_gcc
+++ b/config/arm/arm64_n1sdp_linux_gcc
@@ -9,7 +9,7 @@  pcap-config = ''
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_n2_linux_gcc b/config/arm/arm64_n2_linux_gcc
index 7404bd197b..111ae52c5f 100644
--- a/config/arm/arm64_n2_linux_gcc
+++ b/config/arm/arm64_n2_linux_gcc
@@ -9,7 +9,7 @@  pcap-config = ''
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_stingray_linux_gcc b/config/arm/arm64_stingray_linux_gcc
index 08148b5c3d..41903aaa1f 100644
--- a/config/arm/arm64_stingray_linux_gcc
+++ b/config/arm/arm64_stingray_linux_gcc
@@ -9,7 +9,7 @@  pcap-config = ''
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_thunderx2_linux_gcc b/config/arm/arm64_thunderx2_linux_gcc
index 32ae938e95..eb07a59da0 100644
--- a/config/arm/arm64_thunderx2_linux_gcc
+++ b/config/arm/arm64_thunderx2_linux_gcc
@@ -9,7 +9,7 @@  pcap-config = ''
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_thunderxt83_linux_gcc b/config/arm/arm64_thunderxt83_linux_gcc
index e9d9e62d44..cd4f9c2acb 100644
--- a/config/arm/arm64_thunderxt83_linux_gcc
+++ b/config/arm/arm64_thunderxt83_linux_gcc
@@ -9,7 +9,7 @@  pcap-config = ''
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_thunderxt88_linux_gcc b/config/arm/arm64_thunderxt88_linux_gcc
index c6e5a5656a..b9e0d554a4 100644
--- a/config/arm/arm64_thunderxt88_linux_gcc
+++ b/config/arm/arm64_thunderxt88_linux_gcc
@@ -9,7 +9,7 @@  pcap-config = ''
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]
diff --git a/config/arm/arm64_tys2500_linux_gcc b/config/arm/arm64_tys2500_linux_gcc
index fce85fb0d8..994803d363 100644
--- a/config/arm/arm64_tys2500_linux_gcc
+++ b/config/arm/arm64_tys2500_linux_gcc
@@ -9,7 +9,7 @@  pcap-config = ''
 [host_machine]
 system = 'linux'
 cpu_family = 'aarch64'
-cpu = 'armv8-a'
+cpu = 'auto'
 endian = 'little'
 
 [properties]