[dpdk-dev] [PATCH v2] eal/ppc: fix redefine bool type

David Marchand david.marchand at redhat.com
Wed May 6 11:41:50 CEST 2020


On Thu, Apr 30, 2020 at 4:22 PM Ori Kam <orika at mellanox.com> wrote:
>
> The AltiVec header file breaks boolean type. [1] [2]
>
> Currently the workaround was located only in mlx5 device.
> Adding the trace module caused this issue to appear again, due to
> order of includes, it keeps overriding the local fix.
>
> This patch solves this issue by resetting the bool type, immediately
> after it is being changed.
>
> [1] https://mails.dpdk.org/archives/dev/2018-August/110281.html
>
> [2]
> In file included from
> dpdk/ppc_64-power8-linux-gcc/include/rte_mempool_trace_fp.h:18:0,
>                  from
> dpdk/ppc_64-power8-linux-gcc/include/rte_mempool.h:54,
>                  from
> dpdk/drivers/common/mlx5/mlx5_common_mr.c:7:
> dpdk/ppc_64-power8-linux-gcc/include/rte_trace_point.h: In
> function '__rte_trace_point_fp_is_enabled':
> dpdk/ppc_64-power8-linux-gcc/include/rte_trace_point.h:226:2:
> error: incompatible types when returning type 'int' but '__vector __bool
> int' was expected
>   return false;
>   ^
> In file included from
> dpdk/ppc_64-power8-linux-gcc/include/rte_trace_point.h:281:0,
>                  from
> dpdk/ppc_64-power8-linux-gcc/include/rte_mempool_trace_fp.h:18,
>                  from
> dpdk/ppc_64-power8-linux-gcc/include/rte_mempool.h:54,
>                  from
> dpdk/drivers/common/mlx5/mlx5_common_mr.c:7:
> dpdk/ppc_64-power8-linux-gcc/include/rte_mempool_trace_fp.h:
> In function 'rte_mempool_trace_ops_dequeue_bulk':
> dpdk/ppc_64-power8-linux-gcc/include/rte_trace_point_provider.h:104:6:
> error: wrong type argument to unary exclamation mark
>   if (!__rte_trace_point_fp_is_enabled()) \
>       ^
> dpdk/ppc_64-power8-linux-gcc/include/rte_trace_point.h:49:2:
> note: in expansion of macro '__rte_trace_point_emit_header_fp'
>   __rte_trace_point_emit_header_##_mode(&__##_tp); \
>   ^
> dpdk/ppc_64-power8-linux-gcc/include/rte_trace_point.h:99:2:
> note: in expansion of macro '__RTE_TRACE_POINT'
>   __RTE_TRACE_POINT(fp, tp, args, __VA_ARGS__)
>   ^
> dpdk/ppc_64-power8-linux-gcc/include/rte_mempool_trace_fp.h:20:1:
> note: in expansion of macro 'RTE_TRACE_POINT_FP'
>  RTE_TRACE_POINT_FP(
>  ^
> dpdk/ppc_64-power8-linux-gcc/include/rte_mempool_trace_fp.h:
> In function 'rte_mempool_trace_ops_dequeue_contig_blocks':
> dpdk/ppc_64-power8-linux-gcc/include/rte_trace_point_provider.h:104:6:
> error: wrong type argument to unary exclamation mark
>   if (!__rte_trace_point_fp_is_enabled()) \
>       ^
> dpdk/ppc_64-power8-linux-gcc/include/rte_trace_point.h:49:2:
> note: in expansion of macro '__rte_trace_point_emit_header_fp'
>   __rte_trace_point_emit_header_##_mode(&__##_tp); \
>   ^
> dpdk/ppc_64-power8-linux-gcc/include/rte_trace_point.h:99:2:
> note: in expansion of macro '__RTE_TRACE_POINT'
>   __RTE_TRACE_POINT(fp, tp, args, __VA_ARGS__)
>   ^
> dpdk/ppc_64-power8-linux-gcc/include/rte_mempool_trace_fp.h:29:1:
> note: in expansion of macro 'RTE_TRACE_POINT_FP'
>  RTE_TRACE_POINT_FP(
>  ^
> dpdk/ppc_64-power8-linux-gcc/include/rte_mempool_trace_fp.h:
> In function 'rte_mempool_trace_ops_enqueue_bulk':
> dpdk/ppc_64-power8-linux-gcc/include/rte_trace_point_provider.h:104:6:
> error: wrong type argument to unary exclamation mark
>   if (!__rte_trace_point_fp_is_enabled()) \
>
> Fixes: 725f5dd0bfb5 ("net/mlx5: fix build on PPC64")
>
> Signed-off-by: Ori Kam <orika at mellanox.com>
> Signed-off-by: David Christensen <drc at linux.vnet.ibm.com>

Tested-by: David Christensen <drc at linux.vnet.ibm.com>
Tested-by: Raslan Darawsheh <rasland at mellanox.com>
Acked-by: Matan Azrad <matan at mellanox.com>

Applied, thanks.


-- 
David Marchand



More information about the dev mailing list