[dpdk-dev] i40e: fix of compile error

Message ID 1413184699-16124-1-git-send-email-helin.zhang@intel.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Zhang, Helin Oct. 13, 2014, 7:18 a.m. UTC
  It fixes the compile error as below on gcc version 4.3.4.
cc1: error: unrecognized command line option "-Wno-unused-but-set-variable"

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
---
 lib/librte_pmd_i40e/Makefile | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
  

Comments

Zhan, Zhaochen Oct. 13, 2014, 7:28 a.m. UTC | #1
Hi Helin,

It still has errors:

You can get access to 10.239.129.2 with root/tester.
/root/zzz/dpdk is the latest dpdk code, /root/zzz/error is the latest code with the patch appled.

cc1: warnings being treated as errors
/root/zzz/error/app/test/test_prefetch.c:65: error: 'testfn_prefetch_cmd' define                                    d but not used
make[5]: *** [test_prefetch.o] Error 1
make[5]: *** Waiting for unfinished jobs....
  CC test_table.o
cc1: warnings being treated as errors
/root/zzz/error/app/test/test_byteorder.c:99: error: 'testfn_byteorder_cmd' defi                                    ned but not used
make[5]: *** [test_byteorder.o] Error 1
cc1: warnings being treated as errors
/root/zzz/error/app/test/test_pci.c:203: error: 'testfn_pci_cmd' defined but not                                     used
make[5]: *** [test_pci.o] Error 1
cc1: warnings being treated as errors
/root/zzz/error/app/test/test_memory.c:92: error: 'testfn_memory_cmd' defined bu                                    t not used
cc1: warnings being treated as errors
/root/zzz/error/app/test/test_cycles.c:96: error: 'testfn_cycles_cmd' defined bu                                    t not used
cc1: warnings being treated as errors
/root/zzz/error/app/test/test_spinlock.c:341: error: 'testfn_spinlock_cmd' defin                                    ed but not used
make[5]: *** [test_cycles.o] Error 1
make[5]: *** [test_memory.o] Error 1
make[5]: *** [test_spinlock.o] Error 1
  LD dump_cfg
cc1: warnings being treated as errors
/root/zzz/error/app/test/test_per_lcore.c:144: error: 'testfn_per_lcore_cmd' def                                    ined but not used
make[5]: *** [test_per_lcore.o] Error 1
cc1: warnings being treated as errors
/root/zzz/error/app/test/test_atomic.c:382: error: 'testfn_atomic_cmd' defined b                                    ut not used
cc1: warnings being treated as errors
/root/zzz/error/app/test/test_ring_perf.c:421: error: 'testfn_ring_perf_cmd' def                                    ined but not used
make[5]: *** [test_atomic.o] Error 1
make[5]: *** [test_ring_perf.o] Error 1
cc1: warnings being treated as errors
/root/zzz/error/app/test/test_memzone.c:1052: error: 'testfn_memzone_cmd' define                                    d but not used
make[5]: *** [test_memzone.o] Error 1
cc1: warnings being treated as errors
/root/zzz/error/app/test/test_malloc.c:1053: error: 'testfn_malloc_cmd' defined                                     but not used
make[5]: *** [test_malloc.o] Error 1
cc1: warnings being treated as errors
/root/zzz/error/app/test/test_ring.c:1400: error: 'testfn_ring_cmd' defined but                                     not used
make[5]: *** [test_ring.o] Error 1
cc1: warnings being treated as errors
/root/zzz/error/app/test/test_table.c:211: error: 'testfn_table_cmd' defined but                                     not used
make[5]:   LD testacl
*** [test_table.o] Error 1
  INSTALL-APP cmdline_test
  INSTALL-MAP cmdline_test.map
make[4]: *** [test] Error 2
make[4]: *** Waiting for unfinished jobs....
  INSTALL-MAP dump_cfg.map
  INSTALL-APP dump_cfg
  INSTALL-APP testacl
  INSTALL-MAP testacl.map
  LD testpipeline
  INSTALL-APP testpipeline
  INSTALL-MAP testpipeline.map
  LD testpmd
  INSTALL-APP testpmd
  INSTALL-MAP testpmd.map
make[3]: *** [app] Error 2
make[2]: *** [all] Error 2
make[1]: *** [x86_64-native-linuxapp-gcc_install] Error 2
make: *** [install] Error 2

> -----Original Message-----
> From: Zhang, Helin
> Sent: Monday, October 13, 2014 3:18 PM
> To: dev@dpdk.org
> Cc: Zhan, Zhaochen; Cao, Waterman; Zhang, Helin
> Subject: [PATCH] i40e: fix of compile error
> 
> It fixes the compile error as below on gcc version 4.3.4.
> cc1: error: unrecognized command line option "-Wno-unused-but-set-
> variable"
> 
> Signed-off-by: Helin Zhang <helin.zhang@intel.com>
> ---
>  lib/librte_pmd_i40e/Makefile | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/librte_pmd_i40e/Makefile b/lib/librte_pmd_i40e/Makefile
> index 4b31675..bd3428f 100644
> --- a/lib/librte_pmd_i40e/Makefile
> +++ b/lib/librte_pmd_i40e/Makefile
> @@ -55,8 +55,7 @@ CFLAGS_BASE_DRIVER += -Wno-missing-field-initializers
>  CFLAGS_BASE_DRIVER += -Wno-pointer-to-int-cast
>  CFLAGS_BASE_DRIVER += -Wno-format-nonliteral
>  else
> -CFLAGS_BASE_DRIVER  = -Wno-unused-but-set-variable
> -CFLAGS_BASE_DRIVER += -Wno-sign-compare
> +CFLAGS_BASE_DRIVER  = -Wno-sign-compare
>  CFLAGS_BASE_DRIVER += -Wno-unused-value
>  CFLAGS_BASE_DRIVER += -Wno-unused-parameter
>  CFLAGS_BASE_DRIVER += -Wno-strict-aliasing
> @@ -65,6 +64,11 @@ CFLAGS_BASE_DRIVER += -Wno-missing-field-initializers
>  CFLAGS_BASE_DRIVER += -Wno-pointer-to-int-cast
>  CFLAGS_BASE_DRIVER += -Wno-format-nonliteral
>  CFLAGS_BASE_DRIVER += -Wno-format-security
> +
> +ifeq ($(shell test $(GCC_MAJOR_VERSION) -ge 4 -a $(GCC_MINOR_VERSION) -
> ge 4 && echo 1), 1)
> +CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable
> +endif
> +
>  CFLAGS_i40e_lan_hmc.o += -Wno-error
>  endif
>  OBJS_BASE_DRIVER=$(patsubst %.c,%.o,$(notdir $(wildcard
> $(RTE_SDK)/lib/librte_pmd_i40e/i40e/*.c)))
> --
> 1.8.1.4
  
Zhan, Zhaochen Oct. 13, 2014, 12:42 p.m. UTC | #2
> It fixes the compile error as below on gcc version 4.3.4.
> cc1: error: unrecognized command line option "-Wno-unused-but-set-
> variable"
> 
> Signed-off-by: Helin Zhang <helin.zhang@intel.com>

Tested-by: Zhaochen Zhan <zhaochen.zhan@intel.com>

This patch has been verified on SUSE with gcc4.3.4. 
It has fixed the compile error related to i40e. 
But the dpdk still has error about"app/test/test_prefetch.c" with gcc4.3.4.

Base commit: 23fcffe8ffaccf8a2901050e7daa4979597141ed
CPU: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
OS: SUSE 11, 3.0.13-0.5-default
GCC: 4.3.4
  
zimeiw Oct. 13, 2014, 12:54 p.m. UTC | #3
hi,


Could use rte_ring_create() API to create a ring, why no API to free it?


--

Best Regards,
zimeiw
  
Thomas Monjalon Oct. 15, 2014, 7:51 a.m. UTC | #4
2014-10-13 12:42, Zhan, Zhaochen:
> > It fixes the compile error as below on gcc version 4.3.4.
> > cc1: error: unrecognized command line option "-Wno-unused-but-set-
> > variable"
> > 
> > Signed-off-by: Helin Zhang <helin.zhang@intel.com>
> 
> Tested-by: Zhaochen Zhan <zhaochen.zhan@intel.com>

Applied

Thanks
  
zimeiw Nov. 7, 2014, 4:36 a.m. UTC | #5
hi,


NETDP news :
UDP protocol and part of socket layer are porting into NETDP.
Another application could establish UDP socket via NETDP, and could communicate with remote application on other PC.
Packets ZERO copy between application and NETDP.
No lock in UDP stack and socket layer.
Running on multiple cores.
Code link: https://github.com/opendp/dpdk-odp
Demo link:  https://github.com/opendp/dpdk-odp/wiki/Demo::UDP-socket
Next planning: testing performance and porting TCP to NETDP.


OPENDP (open data plane) news
Create an initial opendp (open data plane) process based on dpdk and netdp.
The purpose of OPENDP as below:
User could build up a data plane to handle level 3, level 4 traffic easily.
User could choice needed component to to setup data plane, of course currently the component is little.
All application with mass traffic could go though data plane.
OPENDP could also be fast path of software router.
and so on...
Code link: https://github.com/opendp/dpdk-odp/tree/master/opendp
--

Best Regards,
zimeiw
  

Patch

diff --git a/lib/librte_pmd_i40e/Makefile b/lib/librte_pmd_i40e/Makefile
index 4b31675..bd3428f 100644
--- a/lib/librte_pmd_i40e/Makefile
+++ b/lib/librte_pmd_i40e/Makefile
@@ -55,8 +55,7 @@  CFLAGS_BASE_DRIVER += -Wno-missing-field-initializers
 CFLAGS_BASE_DRIVER += -Wno-pointer-to-int-cast
 CFLAGS_BASE_DRIVER += -Wno-format-nonliteral
 else
-CFLAGS_BASE_DRIVER  = -Wno-unused-but-set-variable
-CFLAGS_BASE_DRIVER += -Wno-sign-compare
+CFLAGS_BASE_DRIVER  = -Wno-sign-compare
 CFLAGS_BASE_DRIVER += -Wno-unused-value
 CFLAGS_BASE_DRIVER += -Wno-unused-parameter
 CFLAGS_BASE_DRIVER += -Wno-strict-aliasing
@@ -65,6 +64,11 @@  CFLAGS_BASE_DRIVER += -Wno-missing-field-initializers
 CFLAGS_BASE_DRIVER += -Wno-pointer-to-int-cast
 CFLAGS_BASE_DRIVER += -Wno-format-nonliteral
 CFLAGS_BASE_DRIVER += -Wno-format-security
+
+ifeq ($(shell test $(GCC_MAJOR_VERSION) -ge 4 -a $(GCC_MINOR_VERSION) -ge 4 && echo 1), 1)
+CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable
+endif
+
 CFLAGS_i40e_lan_hmc.o += -Wno-error
 endif
 OBJS_BASE_DRIVER=$(patsubst %.c,%.o,$(notdir $(wildcard $(RTE_SDK)/lib/librte_pmd_i40e/i40e/*.c)))