[dpdk-dev] [PATCH v4] build: use generic march on arm64 when using 'default' machine

luca.boccassi at gmail.com luca.boccassi at gmail.com
Wed Mar 20 14:18:01 CET 2019


From: Luca Boccassi <bluca at debian.org>

When building for generic distribution we need a stable baseline
architecture, or depending on the build worker the result will vary.

Force the default flags if the user explicitly sets machine=default
at configuration time.

Fixes: b1d48c41189a ("build: support ARM with meson")
Cc: stable at dpdk.org

Signed-off-by: Luca Boccassi <bluca at debian.org>
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
Acked-by: Pavan Nikhilesh <pbhagavatula at marvell.com>
---
v2: fix typo in commit message, remove variable used only once
v3: put back temporary variable, as "machine" gets overwritten
    by the function and loses the original value before we need
    it.
v4: add acked-by, remove redundant assignment

 config/arm/meson.build | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/config/arm/meson.build b/config/arm/meson.build
index 8e892fa77..dddec4e04 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -6,6 +6,7 @@
 march_opt = '-march=@0@'.format(machine)
 
 arm_force_native_march = false
+arm_force_default_march = (machine == 'default')
 
 machine_args_generic = [
 	['default', ['-march=armv8-a+crc+crypto']],
@@ -106,7 +107,10 @@ else
 	cmd_generic = ['generic', '', '', 'default', '']
 	cmd_output = cmd_generic # Set generic by default
 	machine_args = [] # Clear previous machine args
-	if not meson.is_cross_build()
+	if arm_force_default_march and not meson.is_cross_build()
+		machine = impl_generic
+		impl_pn = 'default'
+	elif not meson.is_cross_build()
 		# The script returns ['Implementer', 'Variant', 'Architecture',
 		# 'Primary Part number', 'Revision']
 		detect_vendor = find_program(join_paths(
-- 
2.20.1



More information about the dev mailing list