DPDK does not build on gcc 4.4, as it complains due to strict-aliasing rules in virtual_pmd and link_bonding_mode4 tests, with no errors in next gcc versions: CC virtual_pmd.o CC test_link_bonding_mode4.o cc1: warnings being treated as errors /root/dpdk/app/test/test_link_bonding_mode4.c: In function ‘test_mode4_expired’: /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:645: error: dereferencing pointer ‘pkt.409’ does break strict-aliasing rules /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:729: error: dereferencing pointer ‘pkt.409’ does break strict-aliasing rules ... cc1: warnings being treated as errors /root/dpdk/app/test/virtual_pmd.c: In function ‘virtual_ethdev_stats_reset’: /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:645: error: dereferencing pointer ‘pkt.338’ does break strict-aliasing rules /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:729: error: dereferencing pointer ‘pkt.338’ does break strict-aliasing rules This patch fixes the compilation by disabling these warnings. Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> --- app/test/Makefile | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/app/test/Makefile b/app/test/Makefile index 4aca77c..0d62d07 100644 --- a/app/test/Makefile +++ b/app/test/Makefile @@ -158,6 +158,11 @@ CFLAGS_test_memcpy_perf.o += -fno-var-tracking-assignments endif endif +# Disable warnings of no-strict-aliasing in virtual_pmd +# and test_link_bonding_mode4 tests +CFLAGS_virtual_pmd.o += -Wno-strict-aliasing +CFLAGS_test_link_bonding_mode4.o += -Wno-strict-aliasing + # this application needs libraries first DEPDIRS-y += lib -- 1.7.4.1
On 3/27/2015 3:18 AM, Pablo de Lara wrote: > DPDK does not build on gcc 4.4, as it complains due to Why? Will gcc 4.4 not supported? Thanks, Michael > strict-aliasing rules in virtual_pmd and link_bonding_mode4 tests, > with no errors in next gcc versions: > > CC virtual_pmd.o > CC test_link_bonding_mode4.o > cc1: warnings being treated as errors > /root/dpdk/app/test/test_link_bonding_mode4.c: In function ‘test_mode4_expired’: > /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:645: error: dereferencing pointer ‘pkt.409’ does break strict-aliasing rules > /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:729: error: dereferencing pointer ‘pkt.409’ does break strict-aliasing rules > ... > cc1: warnings being treated as errors > /root/dpdk/app/test/virtual_pmd.c: In function ‘virtual_ethdev_stats_reset’: > /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:645: error: dereferencing pointer ‘pkt.338’ does break strict-aliasing rules > /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:729: error: dereferencing pointer ‘pkt.338’ does break strict-aliasing rules > > This patch fixes the compilation by disabling > these warnings. > > Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> > --- > app/test/Makefile | 5 +++++ > 1 files changed, 5 insertions(+), 0 deletions(-) > > diff --git a/app/test/Makefile b/app/test/Makefile > index 4aca77c..0d62d07 100644 > --- a/app/test/Makefile > +++ b/app/test/Makefile > @@ -158,6 +158,11 @@ CFLAGS_test_memcpy_perf.o += -fno-var-tracking-assignments > endif > endif > > +# Disable warnings of no-strict-aliasing in virtual_pmd > +# and test_link_bonding_mode4 tests > +CFLAGS_virtual_pmd.o += -Wno-strict-aliasing > +CFLAGS_test_link_bonding_mode4.o += -Wno-strict-aliasing > + > # this application needs libraries first > DEPDIRS-y += lib >
> -----Original Message----- > From: Qiu, Michael > Sent: Friday, March 27, 2015 8:41 AM > To: De Lara Guarch, Pablo; dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH] test: Disable strict-aliasing warnings > > On 3/27/2015 3:18 AM, Pablo de Lara wrote: > > DPDK does not build on gcc 4.4, as it complains due to > > Why? Will gcc 4.4 not supported? Afaik, we still support gcc 4.4, since it is part of RHEL 6.5. Thanks, Pablo > > Thanks, > Michael > > strict-aliasing rules in virtual_pmd and link_bonding_mode4 tests, > > with no errors in next gcc versions: > > > > CC virtual_pmd.o > > CC test_link_bonding_mode4.o > > cc1: warnings being treated as errors > > /root/dpdk/app/test/test_link_bonding_mode4.c: In function > 'test_mode4_expired': > > /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:645: error: > dereferencing pointer 'pkt.409' does break strict-aliasing rules > > /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:729: error: > dereferencing pointer 'pkt.409' does break strict-aliasing rules > > ... > > cc1: warnings being treated as errors > > /root/dpdk/app/test/virtual_pmd.c: In function > 'virtual_ethdev_stats_reset': > > /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:645: error: > dereferencing pointer 'pkt.338' does break strict-aliasing rules > > /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:729: error: > dereferencing pointer 'pkt.338' does break strict-aliasing rules > > > > This patch fixes the compilation by disabling > > these warnings. > > > > Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> > > --- > > app/test/Makefile | 5 +++++ > > 1 files changed, 5 insertions(+), 0 deletions(-) > > > > diff --git a/app/test/Makefile b/app/test/Makefile > > index 4aca77c..0d62d07 100644 > > --- a/app/test/Makefile > > +++ b/app/test/Makefile > > @@ -158,6 +158,11 @@ CFLAGS_test_memcpy_perf.o += -fno-var- > tracking-assignments > > endif > > endif > > > > +# Disable warnings of no-strict-aliasing in virtual_pmd > > +# and test_link_bonding_mode4 tests > > +CFLAGS_virtual_pmd.o += -Wno-strict-aliasing > > +CFLAGS_test_link_bonding_mode4.o += -Wno-strict-aliasing > > + > > # this application needs libraries first > > DEPDIRS-y += lib > >
2015-03-26 19:17, Pablo de Lara: > DPDK does not build on gcc 4.4, as it complains due to > strict-aliasing rules in virtual_pmd and link_bonding_mode4 tests, > with no errors in next gcc versions: Do you mean it's not possible to fix it in the code? You are disabling some checks which may be relevant. > CC virtual_pmd.o > CC test_link_bonding_mode4.o > cc1: warnings being treated as errors > /root/dpdk/app/test/test_link_bonding_mode4.c: In function ‘test_mode4_expired’: > /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:645: error: dereferencing pointer ‘pkt.409’ does break strict-aliasing rules > /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:729: error: dereferencing pointer ‘pkt.409’ does break strict-aliasing rules > ... > cc1: warnings being treated as errors > /root/dpdk/app/test/virtual_pmd.c: In function ‘virtual_ethdev_stats_reset’: > /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:645: error: dereferencing pointer ‘pkt.338’ does break strict-aliasing rules > /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:729: error: dereferencing pointer ‘pkt.338’ does break strict-aliasing rules > > This patch fixes the compilation by disabling > these warnings. > > Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> > --- > app/test/Makefile | 5 +++++ > 1 files changed, 5 insertions(+), 0 deletions(-) > > diff --git a/app/test/Makefile b/app/test/Makefile > index 4aca77c..0d62d07 100644 > --- a/app/test/Makefile > +++ b/app/test/Makefile > @@ -158,6 +158,11 @@ CFLAGS_test_memcpy_perf.o += -fno-var-tracking-assignments > endif > endif > > +# Disable warnings of no-strict-aliasing in virtual_pmd > +# and test_link_bonding_mode4 tests > +CFLAGS_virtual_pmd.o += -Wno-strict-aliasing > +CFLAGS_test_link_bonding_mode4.o += -Wno-strict-aliasing > + > # this application needs libraries first > DEPDIRS-y += lib > >
> -----Original Message----- > From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com] > Sent: Friday, March 27, 2015 9:20 AM > To: De Lara Guarch, Pablo > Cc: dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH] test: Disable strict-aliasing warnings > > 2015-03-26 19:17, Pablo de Lara: > > DPDK does not build on gcc 4.4, as it complains due to > > strict-aliasing rules in virtual_pmd and link_bonding_mode4 tests, > > with no errors in next gcc versions: > > Do you mean it's not possible to fix it in the code? > You are disabling some checks which may be relevant. I mean it is possible to fix, but probably not worth it, considering that newer gcc versions have no issues (and gcc 4.4 is from 2011). I have seen that there are other libraries that disable these warnings as well, so I assumed we could do the same here. Pablo > > > CC virtual_pmd.o > > CC test_link_bonding_mode4.o > > cc1: warnings being treated as errors > > /root/dpdk/app/test/test_link_bonding_mode4.c: In function > ‘test_mode4_expired’: > > /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:645: error: > dereferencing pointer ‘pkt.409’ does break strict-aliasing rules > > /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:729: error: > dereferencing pointer ‘pkt.409’ does break strict-aliasing rules > > ... > > cc1: warnings being treated as errors > > /root/dpdk/app/test/virtual_pmd.c: In function > ‘virtual_ethdev_stats_reset’: > > /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:645: error: > dereferencing pointer ‘pkt.338’ does break strict-aliasing rules > > /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:729: error: > dereferencing pointer ‘pkt.338’ does break strict-aliasing rules > > > > This patch fixes the compilation by disabling > > these warnings. > > > > Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> > > --- > > app/test/Makefile | 5 +++++ > > 1 files changed, 5 insertions(+), 0 deletions(-) > > > > diff --git a/app/test/Makefile b/app/test/Makefile > > index 4aca77c..0d62d07 100644 > > --- a/app/test/Makefile > > +++ b/app/test/Makefile > > @@ -158,6 +158,11 @@ CFLAGS_test_memcpy_perf.o += -fno-var- > tracking-assignments > > endif > > endif > > > > +# Disable warnings of no-strict-aliasing in virtual_pmd > > +# and test_link_bonding_mode4 tests > > +CFLAGS_virtual_pmd.o += -Wno-strict-aliasing > > +CFLAGS_test_link_bonding_mode4.o += -Wno-strict-aliasing > > + > > # this application needs libraries first > > DEPDIRS-y += lib > > > > >
2015-03-27 09:29, De Lara Guarch, Pablo:
> From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com]
> > 2015-03-26 19:17, Pablo de Lara:
> > > DPDK does not build on gcc 4.4, as it complains due to
> > > strict-aliasing rules in virtual_pmd and link_bonding_mode4 tests,
> > > with no errors in next gcc versions:
> >
> > Do you mean it's not possible to fix it in the code?
> > You are disabling some checks which may be relevant.
>
> I mean it is possible to fix, but probably not worth it, considering that
> newer gcc versions have no issues (and gcc 4.4 is from 2011).
> I have seen that there are other libraries that disable these warnings as well,
> so I assumed we could do the same here.
It is preferred to avoid doing it.
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Thomas Monjalon
> Sent: Friday, March 27, 2015 10:01 AM
> To: De Lara Guarch, Pablo
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] test: Disable strict-aliasing warnings
>
> 2015-03-27 09:29, De Lara Guarch, Pablo:
> > From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com]
> > > 2015-03-26 19:17, Pablo de Lara:
> > > > DPDK does not build on gcc 4.4, as it complains due to
> > > > strict-aliasing rules in virtual_pmd and link_bonding_mode4 tests,
> > > > with no errors in next gcc versions:
> > >
> > > Do you mean it's not possible to fix it in the code?
> > > You are disabling some checks which may be relevant.
> >
> > I mean it is possible to fix, but probably not worth it, considering that
> > newer gcc versions have no issues (and gcc 4.4 is from 2011).
> > I have seen that there are other libraries that disable these warnings as
> well,
> > so I assumed we could do the same here.
>
> It is preferred to avoid doing it.
Actually, I just realized that I missed checking the gcc version, so I was disabling the warnings in all versions.
I can send a v2 with that check, so we will still take into account those warnings for newer versions,
and just ignore it in gcc 4.4.
Thanks,
Pablo
Fix strict aliasing rule error seen in gcc 4.4 in virtual pmd and mode 4 link bonding mode 4 test. changes v2: - fix error in code instead disabling compiler warning. Pawel Wodkowski (2): test: fix strict aliasing rule error in virtual pmd test: fix strict aliasing rule error in link bonding mode 4 test app/test/test_link_bonding_mode4.c | 5 +++-- app/test/virtual_pmd.c | 10 +++++----- 2 files changed, 8 insertions(+), 7 deletions(-) -- 1.9.1
Fix strict aliasing rule error seen in gcc 4.4 Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com> --- app/test/virtual_pmd.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/test/virtual_pmd.c b/app/test/virtual_pmd.c index 9b07ab1..f163562 100644 --- a/app/test/virtual_pmd.c +++ b/app/test/virtual_pmd.c @@ -75,15 +75,15 @@ virtual_ethdev_start_fail(struct rte_eth_dev *eth_dev __rte_unused) } static void virtual_ethdev_stop(struct rte_eth_dev *eth_dev __rte_unused) { - struct rte_mbuf *pkt = NULL; + void *pkt = NULL; struct virtual_ethdev_private *prv = eth_dev->data->dev_private; eth_dev->data->dev_link.link_status = 0; eth_dev->data->dev_started = 0; - while (rte_ring_dequeue(prv->rx_queue, (void **)&pkt) != -ENOENT) + while (rte_ring_dequeue(prv->rx_queue, &pkt) != -ENOENT) rte_pktmbuf_free(pkt); - while (rte_ring_dequeue(prv->tx_queue, (void **)&pkt) != -ENOENT) + while (rte_ring_dequeue(prv->tx_queue, &pkt) != -ENOENT) rte_pktmbuf_free(pkt); } @@ -223,9 +223,9 @@ static void virtual_ethdev_stats_reset(struct rte_eth_dev *dev) { struct virtual_ethdev_private *dev_private = dev->data->dev_private; - struct rte_mbuf *pkt = NULL; + void *pkt = NULL; - while (rte_ring_dequeue(dev_private->tx_queue, (void **)&pkt) == -ENOBUFS) + while (rte_ring_dequeue(dev_private->tx_queue, &pkt) == -ENOBUFS) rte_pktmbuf_free(pkt); /* Reset internal statistics */ -- 1.9.1
Fix strict aliasing rule error seen in gcc 4.4 Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com> --- app/test/test_link_bonding_mode4.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/test/test_link_bonding_mode4.c b/app/test/test_link_bonding_mode4.c index c35129f..02380f9 100644 --- a/app/test/test_link_bonding_mode4.c +++ b/app/test/test_link_bonding_mode4.c @@ -1181,7 +1181,6 @@ test_mode4_expired(void) { struct slave_conf *slave, *exp_slave = NULL; struct rte_mbuf *pkts[MAX_PKT_BURST]; - struct rte_mbuf *pkt = NULL; int retval; uint32_t old_delay; @@ -1239,7 +1238,9 @@ test_mode4_expired(void) /* Remove replay for slave that supose to be expired. */ if (slave == exp_slave) { while (rte_ring_count(slave->rx_queue) > 0) { - rte_ring_dequeue(slave->rx_queue, (void **)&pkt); + void *pkt = NULL; + + rte_ring_dequeue(slave->rx_queue, &pkt); rte_pktmbuf_free(pkt); } } -- 1.9.1
On Thu, 26 Mar 2015 19:17:35 +0000
Pablo de Lara <pablo.de.lara.guarch@intel.com> wrote:
> +# Disable warnings of no-strict-aliasing in virtual_pmd
> +# and test_link_bonding_mode4 tests
> +CFLAGS_virtual_pmd.o += -Wno-strict-aliasing
> +CFLAGS_test_link_bonding_mode4.o += -Wno-strict-aliasing
> +
>
There is a way to do it only for a specific (broken)
Gcc version using if's
On Fri, 27 Mar 2015 11:56:00 +0100
Pawel Wodkowski <pawelx.wodkowski@intel.com> wrote:
> Fix strict aliasing rule error seen in gcc 4.4
>
> Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
> ---
> app/test/virtual_pmd.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/app/test/virtual_pmd.c b/app/test/virtual_pmd.c
> index 9b07ab1..f163562 100644
> --- a/app/test/virtual_pmd.c
> +++ b/app/test/virtual_pmd.c
> @@ -75,15 +75,15 @@ virtual_ethdev_start_fail(struct rte_eth_dev *eth_dev __rte_unused)
> }
> static void virtual_ethdev_stop(struct rte_eth_dev *eth_dev __rte_unused)
> {
> - struct rte_mbuf *pkt = NULL;
> + void *pkt = NULL;
> struct virtual_ethdev_private *prv = eth_dev->data->dev_private;
>
> eth_dev->data->dev_link.link_status = 0;
> eth_dev->data->dev_started = 0;
> - while (rte_ring_dequeue(prv->rx_queue, (void **)&pkt) != -ENOENT)
> + while (rte_ring_dequeue(prv->rx_queue, &pkt) != -ENOENT)
> rte_pktmbuf_free(pkt);
>
> - while (rte_ring_dequeue(prv->tx_queue, (void **)&pkt) != -ENOENT)
> + while (rte_ring_dequeue(prv->tx_queue, &pkt) != -ENOENT)
> rte_pktmbuf_free(pkt);
> }
Losing type information doesn't make this better!
> -----Original Message-----
> From: Stephen Hemminger [mailto:stephen@networkplumber.org]
> Sent: Friday, March 27, 2015 3:46 PM
> To: De Lara Guarch, Pablo
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] test: Disable strict-aliasing warnings
>
> On Thu, 26 Mar 2015 19:17:35 +0000
> Pablo de Lara <pablo.de.lara.guarch@intel.com> wrote:
>
> > +# Disable warnings of no-strict-aliasing in virtual_pmd
> > +# and test_link_bonding_mode4 tests
> > +CFLAGS_virtual_pmd.o += -Wno-strict-aliasing
> > +CFLAGS_test_link_bonding_mode4.o += -Wno-strict-aliasing
> > +
> >
>
> There is a way to do it only for a specific (broken)
> Gcc version using if's
I know, I sent another email, saying that I missed an if to check the gcc version.
Anyway, Pawel has sent another patch to fix the issue.
Not sure which fix the community prefers.
Thanks,
Pablo
CC virtual_pmd.o CC test_link_bonding_mode4.o cc1: warnings being treated as errors /root/dpdk/app/test/test_link_bonding_mode4.c: In function ‘test_mode4_expired’: /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:645: error: dereferencing pointer ‘pkt.409’ does break strict-aliasing rules /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:729: error: dereferencing pointer ‘pkt.409’ does break strict-aliasing rules ... cc1: warnings being treated as errors /root/dpdk/app/test/virtual_pmd.c: In function ‘virtual_ethdev_stats_reset’: /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:645: error: dereferencing pointer ‘pkt.338’ does break strict-aliasing rules /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:729: error: dereferencing pointer ‘pkt.338’ does break strict-aliasing rules This patch fixes the compilation by disabling these warnings. Changes in v2: Added missing gcc version check (checking if gcc 4.4 is present) Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> --- app/test/Makefile | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/app/test/Makefile b/app/test/Makefile index 4aca77c..9639a71 100644 --- a/app/test/Makefile +++ b/app/test/Makefile @@ -158,6 +158,15 @@ CFLAGS_test_memcpy_perf.o += -fno-var-tracking-assignments endif endif +# Disable warnings of no-strict-aliasing in virtual_pmd +# and test_link_bonding_mode4 tests +ifeq ($(CC), gcc) +ifeq ($(shell test $(GCC_VERSION) -eq 44 && echo 1), 1) +CFLAGS_virtual_pmd.o += -Wno-strict-aliasing +CFLAGS_test_link_bonding_mode4.o += -Wno-strict-aliasing +endif +endif + # this application needs libraries first DEPDIRS-y += lib -- 1.7.4.1
> -----Original Message----- > From: De Lara Guarch, Pablo > Sent: Friday, March 27, 2015 10:11 AM > To: Thomas Monjalon > Cc: dev@dpdk.org > Subject: RE: [dpdk-dev] [PATCH] test: Disable strict-aliasing warnings > > > > > -----Original Message----- > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Thomas Monjalon > > Sent: Friday, March 27, 2015 10:01 AM > > To: De Lara Guarch, Pablo > > Cc: dev@dpdk.org > > Subject: Re: [dpdk-dev] [PATCH] test: Disable strict-aliasing warnings > > > > 2015-03-27 09:29, De Lara Guarch, Pablo: > > > From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com] > > > > 2015-03-26 19:17, Pablo de Lara: > > > > > DPDK does not build on gcc 4.4, as it complains due to > > > > > strict-aliasing rules in virtual_pmd and link_bonding_mode4 tests, > > > > > with no errors in next gcc versions: > > > > > > > > Do you mean it's not possible to fix it in the code? > > > > You are disabling some checks which may be relevant. > > > > > > I mean it is possible to fix, but probably not worth it, considering that > > > newer gcc versions have no issues (and gcc 4.4 is from 2011). > > > I have seen that there are other libraries that disable these warnings as > > well, > > > so I assumed we could do the same here. > > > > It is preferred to avoid doing it. > > Actually, I just realized that I missed checking the gcc version, so I was > disabling the warnings in all versions. > I can send a v2 with that check, so we will still take into account those > warnings for newer versions, > and just ignore it in gcc 4.4. I just sent a v2 of this patch. Pawel also sent another fix for this issue, but Stephen had some concerns about it, so I just sent a v2 as an alternative, so the community can decide between the two options. > > Thanks, > Pablo
2015-03-30 12:06, Pablo de Lara:
> CC virtual_pmd.o
> CC test_link_bonding_mode4.o
> cc1: warnings being treated as errors
> /root/dpdk/app/test/test_link_bonding_mode4.c: In function ‘test_mode4_expired’:
> /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:645: error: dereferencing pointer ‘pkt.409’ does break strict-aliasing rules
> /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:729: error: dereferencing pointer ‘pkt.409’ does break strict-aliasing rules
> ...
> cc1: warnings being treated as errors
> /root/dpdk/app/test/virtual_pmd.c: In function ‘virtual_ethdev_stats_reset’:
> /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:645: error: dereferencing pointer ‘pkt.338’ does break strict-aliasing rules
> /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ring.h:729: error: dereferencing pointer ‘pkt.338’ does break strict-aliasing rules
>
> This patch fixes the compilation by disabling
> these warnings.
>
> Changes in v2:
>
> Added missing gcc version check (checking if gcc 4.4 is present)
>
> Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Pawel's proposal was chosen because it doesn't require handling special
compiler version.
2015-03-27 11:55, Pawel Wodkowski:
> Fix strict aliasing rule error seen in gcc 4.4 in virtual pmd and mode 4 link
> bonding mode 4 test.
>
> changes v2:
> - fix error in code instead disabling compiler warning.
>
> Pawel Wodkowski (2):
> test: fix strict aliasing rule error in virtual pmd
> test: fix strict aliasing rule error in link bonding mode 4 test
>
> app/test/test_link_bonding_mode4.c | 5 +++--
> app/test/virtual_pmd.c | 10 +++++-----
> 2 files changed, 8 insertions(+), 7 deletions(-)
Applied, thanks