[1/6] meson: disable octeontx for buggy compilers on arm64

Message ID 20190412232451.30197-2-yskoh@mellanox.com
State Superseded, archived
Headers show
Series
  • build: fix build for arm64
Related show

Checks

Context Check Description
ci/Intel-compilation success Compilation OK
ci/checkpatch success coding style OK

Commit Message

Yongseok Koh April 12, 2019, 11:24 p.m.
Disable octeontx for gcc 4.8.5 as compiler is emitting "internal compiler
error" for aarch64

Fixes: bd77f2d64c44 ("event/octeontx: build with meson")
Fixes: 4f760550a093 ("mk: disable OcteonTx for buggy compilers")
Fixes: f3af3e44a444 ("mk: disable OcteonTx for buggy compilers only on arm64")
Cc: pbhagavatula@marvell.com
Cc: jerinj@marvell.com
Cc: stable@dpdk.org

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
---
 drivers/event/meson.build | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Pavan Nikhilesh Bhagavatula April 13, 2019, 5:52 a.m. | #1
Hi Yongseok,

>----------------------------------------------------------------------
>Disable octeontx for gcc 4.8.5 as compiler is emitting "internal compiler error"
>for aarch64
>
>Fixes: bd77f2d64c44 ("event/octeontx: build with meson")
>Fixes: 4f760550a093 ("mk: disable OcteonTx for buggy compilers")
>Fixes: f3af3e44a444 ("mk: disable OcteonTx for buggy compilers only on
>arm64")
>Cc: pbhagavatula@marvell.com
>Cc: jerinj@marvell.com
>Cc: stable@dpdk.org
>
>Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
>---
> drivers/event/meson.build | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
>diff --git a/drivers/event/meson.build b/drivers/event/meson.build index
>836ecbb74b..d364871d15 100644
>--- a/drivers/event/meson.build
>+++ b/drivers/event/meson.build
>@@ -1,7 +1,11 @@
> # SPDX-License-Identifier: BSD-3-Clause  # Copyright(c) 2017 Intel Corporation
>
>-drivers = ['dpaa', 'dpaa2', 'octeontx', 'opdl', 'skeleton', 'sw', 'dsw']
>+drivers = ['dpaa', 'dpaa2', 'opdl', 'skeleton', 'sw', 'dsw'] if
>+(toolchain == 'gcc' and cc.version().version_compare('>=4.8.6') and
>+    dpdk_conf.has('RTE_ARCH_ARM64'))

Can we make this similar to MAKEFILE[1] case where octeontx is enabled for everycase except when 
We are compiling for ARCH_ARM64 is set and compiler is less than < 4.8.6?.
The reason being we want x86 CI to run (compilation part) to find any errors.

[1]
'
ifeq ($(CONFIG_RTE_ARCH), arm64)
        ifeq ($(shell test $(GCC_VERSION)$(GCC_PATCHLEVEL) -lt 486 && echo 1), 1)
                CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF=d
                CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL=d
                CONFIG_RTE_LIBRTE_OCTEONTX_PMD=d
        endif
        endif
'

>+	drivers += 'octeontx'
>+endif
> std_deps = ['eventdev', 'kvargs']
> config_flag_fmt = 'RTE_LIBRTE_@0@_EVENTDEV_PMD'
> driver_name_fmt = 'rte_pmd_@0@_event'
>--
>2.21.0.196.g041f5ea

Regards,
Pavan.
Yongseok Koh April 15, 2019, 6:16 p.m. | #2
> On Apr 12, 2019, at 10:52 PM, Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com> wrote:
> 
> Hi Yongseok,
> 
>> ----------------------------------------------------------------------
>> Disable octeontx for gcc 4.8.5 as compiler is emitting "internal compiler error"
>> for aarch64
>> 
>> Fixes: bd77f2d64c44 ("event/octeontx: build with meson")
>> Fixes: 4f760550a093 ("mk: disable OcteonTx for buggy compilers")
>> Fixes: f3af3e44a444 ("mk: disable OcteonTx for buggy compilers only on
>> arm64")
>> Cc: pbhagavatula@marvell.com
>> Cc: jerinj@marvell.com
>> Cc: stable@dpdk.org
>> 
>> Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
>> ---
>> drivers/event/meson.build | 6 +++++-
>> 1 file changed, 5 insertions(+), 1 deletion(-)
>> 
>> diff --git a/drivers/event/meson.build b/drivers/event/meson.build index
>> 836ecbb74b..d364871d15 100644
>> --- a/drivers/event/meson.build
>> +++ b/drivers/event/meson.build
>> @@ -1,7 +1,11 @@
>> # SPDX-License-Identifier: BSD-3-Clause  # Copyright(c) 2017 Intel Corporation
>> 
>> -drivers = ['dpaa', 'dpaa2', 'octeontx', 'opdl', 'skeleton', 'sw', 'dsw']
>> +drivers = ['dpaa', 'dpaa2', 'opdl', 'skeleton', 'sw', 'dsw'] if
>> +(toolchain == 'gcc' and cc.version().version_compare('>=4.8.6') and
>> +    dpdk_conf.has('RTE_ARCH_ARM64'))
> 
> Can we make this similar to MAKEFILE[1] case where octeontx is enabled for everycase except when 
> We are compiling for ARCH_ARM64 is set and compiler is less than < 4.8.6?.
> The reason being we want x86 CI to run (compilation part) to find any errors.
> 
> [1]
> '
> ifeq ($(CONFIG_RTE_ARCH), arm64)
>        ifeq ($(shell test $(GCC_VERSION)$(GCC_PATCHLEVEL) -lt 486 && echo 1), 1)
>                CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF=d
>                CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL=d
>                CONFIG_RTE_LIBRTE_OCTEONTX_PMD=d
>        endif
>        endif
> '

OMG, I was very wrong about the patch. That was Friday and I was moving fast. :-)
Will fix it in v2.

thanks,
Yongseok

> 
>> +	drivers += 'octeontx'
>> +endif
>> std_deps = ['eventdev', 'kvargs']
>> config_flag_fmt = 'RTE_LIBRTE_@0@_EVENTDEV_PMD'
>> driver_name_fmt = 'rte_pmd_@0@_event'
>> --
>> 2.21.0.196.g041f5ea

Patch

diff --git a/drivers/event/meson.build b/drivers/event/meson.build
index 836ecbb74b..d364871d15 100644
--- a/drivers/event/meson.build
+++ b/drivers/event/meson.build
@@ -1,7 +1,11 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-drivers = ['dpaa', 'dpaa2', 'octeontx', 'opdl', 'skeleton', 'sw', 'dsw']
+drivers = ['dpaa', 'dpaa2', 'opdl', 'skeleton', 'sw', 'dsw']
+if (toolchain == 'gcc' and cc.version().version_compare('>=4.8.6') and
+    dpdk_conf.has('RTE_ARCH_ARM64'))
+	drivers += 'octeontx'
+endif
 std_deps = ['eventdev', 'kvargs']
 config_flag_fmt = 'RTE_LIBRTE_@0@_EVENTDEV_PMD'
 driver_name_fmt = 'rte_pmd_@0@_event'