config: fix build on RHEL 7.6 for Power9
authorDavid Christensen <drc@linux.vnet.ibm.com>
Wed, 14 Aug 2019 18:36:40 +0000 (13:36 -0500)
committerDavid Marchand <david.marchand@redhat.com>
Sun, 27 Oct 2019 09:41:50 +0000 (10:41 +0100)
gcc 4.8.5 used on RHEL 7.6 can identify a Power 9 CPU but cannot generate
Power 9 code when the "-mcpu=native" command line argument is used. Test
whether the compiler can generate Power 9 code and adjust the machine
setting appropriately.

Signed-off-by: David Christensen <drc@linux.vnet.ibm.com>
config/ppc_64/meson.build

index 0e65f9d..aa7d73d 100644 (file)
@@ -7,6 +7,16 @@ endif
 dpdk_conf.set('RTE_ARCH', 'ppc_64')
 dpdk_conf.set('RTE_ARCH_PPC_64', 1)
 
+# RHEL 7.x uses gcc 4.8.X which doesn't generate code for Power 9 CPUs,
+# though it will detect a Power 9 CPU when the "-mcpu=native" argument
+# is used, resulting in a build failure.
+power9_supported = cc.has_argument('-mcpu=power9')
+if not power9_supported
+       machine = 'power8'
+       machine_args = ['-mcpu=power8', '-mtune=power8']
+       dpdk_conf.set('RTE_MACHINE','power8')
+endif
+
 # overrides specific to ppc64
 dpdk_conf.set('RTE_MAX_LCORE', 1536)
 dpdk_conf.set('RTE_MAX_NUMA_NODES', 32)