[dpdk-dev] lib/librte_eal: Fix compile issue with gcc 5.3.1

Message ID 1453966234-10577-1-git-send-email-michael.qiu@intel.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Michael Qiu Jan. 28, 2016, 7:30 a.m. UTC
  In fedora 22 with GCC version 5.3.1, when compile,
will result an error:

    include/rte_memcpy.h:309:7: error: "RTE_MACHINE_CPUFLAG_AVX2"
                                is not defined [-Werror=undef]
    #elif RTE_MACHINE_CPUFLAG_AVX2

Fixes: 9484092baad3 ("eal/x86: optimize memcpy for AVX512 platforms")

Signed-off-by: Michael Qiu <michael.qiu@intel.com>
---
 app/test/test_memcpy_perf.c                         | 2 +-
 lib/librte_eal/common/include/arch/x86/rte_memcpy.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
  

Comments

Zhihong Wang Jan. 28, 2016, 8:01 a.m. UTC | #1
> Subject: [PATCH] lib/librte_eal: Fix compile issue with gcc 5.3.1
> 
> In fedora 22 with GCC version 5.3.1, when compile,
> will result an error:
> 
>     include/rte_memcpy.h:309:7: error: "RTE_MACHINE_CPUFLAG_AVX2"
>                                 is not defined [-Werror=undef]
>     #elif RTE_MACHINE_CPUFLAG_AVX2
> 
> Fixes: 9484092baad3 ("eal/x86: optimize memcpy for AVX512 platforms")
> 
> Signed-off-by: Michael Qiu <michael.qiu@intel.com>
> ---
>  app/test/test_memcpy_perf.c                         | 2 +-
>  lib/librte_eal/common/include/arch/x86/rte_memcpy.h | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)


There's issue in the original code.

#elif works with statements:
#elif < statement: true or false>

But what it meant is whether the identifier has been defined:
#elif defined <identifier>

Thanks for correcting this!

Acked-by: Wang, Zhihong <zhihong.wang@intel.com>
  
Thomas Monjalon Jan. 28, 2016, 8:30 a.m. UTC | #2
2016-01-28 15:30, Michael Qiu:
> In fedora 22 with GCC version 5.3.1, when compile,
> will result an error:
> 
>     include/rte_memcpy.h:309:7: error: "RTE_MACHINE_CPUFLAG_AVX2"
>                                 is not defined [-Werror=undef]
>     #elif RTE_MACHINE_CPUFLAG_AVX2
> 
> Fixes: 9484092baad3 ("eal/x86: optimize memcpy for AVX512 platforms")

Thanks for the quick fix.

Note about the title formatting:
As you see in the "Fixes:" line, the title of the original commit
was starting with "eal/x86". Yours should adopt the same convention.
A lot of patches are sent with "lib/librte_eal" which was never used
in the git history. If not sure when writing the title, please check
the history to keep it consistent.
As usual, I will reword it.
Thanks for your attention
  
Thomas Monjalon Jan. 28, 2016, 8:34 a.m. UTC | #3
2016-01-28 08:01, Wang, Zhihong:
> > In fedora 22 with GCC version 5.3.1, when compile,
> > will result an error:
> > 
> >     include/rte_memcpy.h:309:7: error: "RTE_MACHINE_CPUFLAG_AVX2"
> >                                 is not defined [-Werror=undef]
> >     #elif RTE_MACHINE_CPUFLAG_AVX2
> > 
> > Fixes: 9484092baad3 ("eal/x86: optimize memcpy for AVX512 platforms")
> > 
> > Signed-off-by: Michael Qiu <michael.qiu@intel.com>
> 
> There's issue in the original code.
> 
> #elif works with statements:
> #elif < statement: true or false>
> 
> But what it meant is whether the identifier has been defined:
> #elif defined <identifier>
> 
> Thanks for correcting this!
> 
> Acked-by: Wang, Zhihong <zhihong.wang@intel.com>

Applied, thanks
  
Michael Qiu Jan. 28, 2016, 8:37 a.m. UTC | #4
On 1/28/2016 4:32 PM, Thomas Monjalon wrote:
> 2016-01-28 15:30, Michael Qiu:
>> In fedora 22 with GCC version 5.3.1, when compile,
>> will result an error:
>>
>>     include/rte_memcpy.h:309:7: error: "RTE_MACHINE_CPUFLAG_AVX2"
>>                                 is not defined [-Werror=undef]
>>     #elif RTE_MACHINE_CPUFLAG_AVX2
>>
>> Fixes: 9484092baad3 ("eal/x86: optimize memcpy for AVX512 platforms")
> Thanks for the quick fix.
>
> Note about the title formatting:
> As you see in the "Fixes:" line, the title of the original commit
> was starting with "eal/x86". Yours should adopt the same convention.
> A lot of patches are sent with "lib/librte_eal" which was never used
> in the git history. If not sure when writing the title, please check
> the history to keep it consistent.

OK, next time I will do it.

Thanks for point it out.

Thanks,
Michael
> As usual, I will reword it.
> Thanks for your attention
>
  

Patch

diff --git a/app/test/test_memcpy_perf.c b/app/test/test_memcpy_perf.c
index 73babec..f150d8d 100644
--- a/app/test/test_memcpy_perf.c
+++ b/app/test/test_memcpy_perf.c
@@ -81,7 +81,7 @@  static size_t buf_sizes[TEST_VALUE_RANGE];
 /* Data is aligned on this many bytes (power of 2) */
 #ifdef RTE_MACHINE_CPUFLAG_AVX512F
 #define ALIGNMENT_UNIT          64
-#elif RTE_MACHINE_CPUFLAG_AVX2
+#elif defined RTE_MACHINE_CPUFLAG_AVX2
 #define ALIGNMENT_UNIT          32
 #else /* RTE_MACHINE_CPUFLAG */
 #define ALIGNMENT_UNIT          16
diff --git a/lib/librte_eal/common/include/arch/x86/rte_memcpy.h b/lib/librte_eal/common/include/arch/x86/rte_memcpy.h
index d965957..8e2c53c 100644
--- a/lib/librte_eal/common/include/arch/x86/rte_memcpy.h
+++ b/lib/librte_eal/common/include/arch/x86/rte_memcpy.h
@@ -306,7 +306,7 @@  COPY_BLOCK_128_BACK63:
 	goto COPY_BLOCK_128_BACK63;
 }
 
-#elif RTE_MACHINE_CPUFLAG_AVX2
+#elif defined RTE_MACHINE_CPUFLAG_AVX2
 
 /**
  * AVX2 implementation below