All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jerin Jacob <jerinjacobk@gmail.com>
To: Nithin Dabilpuram <ndabilpuram@marvell.com>
Cc: Kiran Kumar K <kirankumark@marvell.com>,
	Jerin Jacob <jerinj@marvell.com>,
	 David Marchand <david.marchand@redhat.com>,
	Pavan Nikhilesh <pbhagavatula@marvell.com>,
	dpdk-dev <dev@dpdk.org>,
	"Ruifeng Wang (Arm Technology China)" <ruifeng.wang@arm.com>
Subject: Re: [dpdk-dev] [PATCH v2] node: fix arm64 build issue for older gcc
Date: Wed, 13 May 2020 18:06:18 +0530	[thread overview]
Message-ID: <CALBAE1O9AZqGpxAnzaeROSN77Wtngep+HBFfjkjDL5VwJFtXHg@mail.gmail.com> (raw)
In-Reply-To: <20200513120605.28912-1-ndabilpuram@marvell.com>

On Wed, May 13, 2020 at 5:36 PM Nithin Dabilpuram
<ndabilpuram@marvell.com> wrote:
>
> Older GCC(~4) complains about uninitialized 'dip'
> var though all the lanes of the vec register are set.
> Hence this patch explicitly initializes vec register
> to fix the issue.
>
> In file included from ip4_lookup.c:34:0:
> ip4_lookup_neon.h: n function ‘ip4_lookup_node_process’: \
> ip4_lookup_neon.h:25:12: error: ‘dip’ may be used uninitialized in \
>                                 this function [-Werror=maybe-uninitialized]
>   int32x4_t dip;
>             ^
>
> Fixes: 16df6a2c6671 ("node: add IPv4 lookup for arm64")
>

Reported-by: David Marchand <david.marchand@redhat.com>

> Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>

It is a false positive, all the lines are updated by the c code.
Just to make the old compiler to happy we need to add unnecessary
additional instruction.
Looks like there is no other clean way to suppress the warning.

Reviewed-by: Jerin Jacob <jerinj@marvell.com>


> ---
> v2:
> - Add error in commit msg.
>
>  lib/librte_node/ip4_lookup_neon.h | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/lib/librte_node/ip4_lookup_neon.h b/lib/librte_node/ip4_lookup_neon.h
> index bb3150f..dd21cb2 100644
> --- a/lib/librte_node/ip4_lookup_neon.h
> +++ b/lib/librte_node/ip4_lookup_neon.h
> @@ -45,6 +45,7 @@ ip4_lookup_node_process(struct rte_graph *graph, struct rte_node *node,
>                 rte_prefetch0(rte_pktmbuf_mtod_offset(pkts[i], void *,
>                                                 sizeof(struct rte_ether_hdr)));
>
> +       dip = vdupq_n_s32(0);
>         /* Get stream for the speculated next node */
>         to_next = rte_node_next_stream_get(graph, node, next_index, nb_objs);
>         while (n_left_from >= 4) {
> --
> 2.8.4
>

  reply	other threads:[~2020-05-13 12:36 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-13  5:48 [dpdk-dev] [PATCH] node: fix arm64 build issue for older gcc Nithin Dabilpuram
2020-05-13  8:51 ` Ruifeng Wang
2020-05-13 10:32   ` [dpdk-dev] [EXT] " Nithin Dabilpuram
2020-05-13 12:06 ` [dpdk-dev] [PATCH v2] " Nithin Dabilpuram
2020-05-13 12:36   ` Jerin Jacob [this message]
2020-05-13 13:03     ` David Marchand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CALBAE1O9AZqGpxAnzaeROSN77Wtngep+HBFfjkjDL5VwJFtXHg@mail.gmail.com \
    --to=jerinjacobk@gmail.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=jerinj@marvell.com \
    --cc=kirankumark@marvell.com \
    --cc=ndabilpuram@marvell.com \
    --cc=pbhagavatula@marvell.com \
    --cc=ruifeng.wang@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.