[dpdk-dev,v2] net/octeontx: fix build for gcc < 4.6

Message ID 20171025171746.64844-1-ferruh.yigit@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Ferruh Yigit Oct. 25, 2017, 5:17 p.m. UTC
  -Ofast option supported starting from gcc4.6 [1], for older versions
using "-O3 -ffast-math" instead.

[1] build error:
  CC octeontx_rxtx.o
  cc1: error: invalid option argument ‘-Ofast’

Fixes: 9e747589bd4c ("net/octeontx: add packet transmit burst function")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
---

v2:
* version check should be only for gcc
* Kept Ack from Santosh
---
 drivers/net/octeontx/Makefile | 8 ++++++++
 1 file changed, 8 insertions(+)
  

Comments

Ferruh Yigit Oct. 25, 2017, 6:29 p.m. UTC | #1
On 10/25/2017 10:17 AM, Ferruh Yigit wrote:
> -Ofast option supported starting from gcc4.6 [1], for older versions
> using "-O3 -ffast-math" instead.
> 
> [1] build error:
>   CC octeontx_rxtx.o
>   cc1: error: invalid option argument ‘-Ofast’
> 
> Fixes: 9e747589bd4c ("net/octeontx: add packet transmit burst function")
> 
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>

Applied to dpdk-next-net/master, thanks.
  

Patch

diff --git a/drivers/net/octeontx/Makefile b/drivers/net/octeontx/Makefile
index 0a8775a16..30fb459af 100644
--- a/drivers/net/octeontx/Makefile
+++ b/drivers/net/octeontx/Makefile
@@ -58,8 +58,16 @@  SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx_ethdev.c
 
 ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
 CFLAGS_octeontx_rxtx.o += -fno-prefetch-loop-arrays
+
+ifeq ($(shell test $(GCC_VERSION) -ge 46 && echo 1), 1)
+CFLAGS_octeontx_rxtx.o += -O3 -Ofast
+else
+CFLAGS_octeontx_rxtx.o += -O3 -ffast-math
 endif
+
+else
 CFLAGS_octeontx_rxtx.o += -O3 -Ofast
+endif
 
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
 LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs