[v2] eal: ignore alignment warnings for x86 vector
Checks
Commit Message
There several alignment warnings when including rte_memcpy header file
externally like OVS for x86.
Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>
---
v2: Use __GUNC__ macro to apply for suppressing the warning.
---
lib/librte_eal/x86/include/rte_memcpy.h | 4 ++++
1 file changed, 4 insertions(+)
Comments
Dropped this patch, it is better to let the application to decide
the warning level.
BR,
Haiyue
> -----Original Message-----
> From: Wang, Haiyue <haiyue.wang@intel.com>
> Sent: Wednesday, April 29, 2020 14:49
> To: dev@dpdk.org; Richardson, Bruce <bruce.richardson@intel.com>; Ananyev, Konstantin
> <konstantin.ananyev@intel.com>; Stokes, Ian <ian.stokes@intel.com>
> Cc: Wang, Haiyue <haiyue.wang@intel.com>
> Subject: [PATCH v2] eal: ignore alignment warnings for x86 vector
>
> There several alignment warnings when including rte_memcpy header file
> externally like OVS for x86.
>
> Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>
> ---
> v2: Use __GUNC__ macro to apply for suppressing the warning.
> ---
> lib/librte_eal/x86/include/rte_memcpy.h | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/lib/librte_eal/x86/include/rte_memcpy.h b/lib/librte_eal/x86/include/rte_memcpy.h
> index ba44c4a32..d4cfe8dd5 100644
> --- a/lib/librte_eal/x86/include/rte_memcpy.h
> +++ b/lib/librte_eal/x86/include/rte_memcpy.h
> @@ -22,6 +22,10 @@
> extern "C" {
> #endif
>
> +#ifdef __GNUC__
> +#pragma GCC diagnostic ignored "-Wcast-align"
> +#endif
> +
> /**
> * Copy bytes from one location to another. The locations must not overlap.
> *
> --
> 2.26.2
On 29/04/2020 07:49, Haiyue Wang wrote:
> There several alignment warnings when including rte_memcpy header file
> externally like OVS for x86.
>
> Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>
> ---
> v2: Use __GUNC__ macro to apply for suppressing the warning.
> ---
> lib/librte_eal/x86/include/rte_memcpy.h | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/lib/librte_eal/x86/include/rte_memcpy.h b/lib/librte_eal/x86/include/rte_memcpy.h
> index ba44c4a32..d4cfe8dd5 100644
> --- a/lib/librte_eal/x86/include/rte_memcpy.h
> +++ b/lib/librte_eal/x86/include/rte_memcpy.h
> @@ -22,6 +22,10 @@
> extern "C" {
> #endif
>
> +#ifdef __GNUC__
> +#pragma GCC diagnostic ignored "-Wcast-align"
> +#endif
> +
Hi - have a look at this thread and the comments about a similar topic,
they are relevant here too.
http://inbox.dpdk.org/dev/20200416184549.10747-1-ktraynor@redhat.com/
> /**
> * Copy bytes from one location to another. The locations must not overlap.
> *
>
> -----Original Message-----
> From: Kevin Traynor <ktraynor@redhat.com>
> Sent: Wednesday, April 29, 2020 16:41
> To: Wang, Haiyue <haiyue.wang@intel.com>; dev@dpdk.org; Richardson, Bruce <bruce.richardson@intel.com>;
> Ananyev, Konstantin <konstantin.ananyev@intel.com>; Stokes, Ian <ian.stokes@intel.com>
> Subject: Re: [dpdk-dev] [PATCH v2] eal: ignore alignment warnings for x86 vector
>
> On 29/04/2020 07:49, Haiyue Wang wrote:
> > There several alignment warnings when including rte_memcpy header file
> > externally like OVS for x86.
> >
> > Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>
> > ---
> > v2: Use __GUNC__ macro to apply for suppressing the warning.
> > ---
> > lib/librte_eal/x86/include/rte_memcpy.h | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/lib/librte_eal/x86/include/rte_memcpy.h b/lib/librte_eal/x86/include/rte_memcpy.h
> > index ba44c4a32..d4cfe8dd5 100644
> > --- a/lib/librte_eal/x86/include/rte_memcpy.h
> > +++ b/lib/librte_eal/x86/include/rte_memcpy.h
> > @@ -22,6 +22,10 @@
> > extern "C" {
> > #endif
> >
> > +#ifdef __GNUC__
> > +#pragma GCC diagnostic ignored "-Wcast-align"
> > +#endif
> > +
>
> Hi - have a look at this thread and the comments about a similar topic,
> they are relevant here too.
> http://inbox.dpdk.org/dev/20200416184549.10747-1-ktraynor@redhat.com/
>
This issue happened on GCC 9.3.0 and build DPDK successfully, but compiling
the OVS-DPDK has lot of warnings. Do we need to fix this ?
> > /**
> > * Copy bytes from one location to another. The locations must not overlap.
> > *
> >
@@ -22,6 +22,10 @@
extern "C" {
#endif
+#ifdef __GNUC__
+#pragma GCC diagnostic ignored "-Wcast-align"
+#endif
+
/**
* Copy bytes from one location to another. The locations must not overlap.
*