From: Ferruh Yigit Date: Thu, 6 Apr 2017 17:05:10 +0000 (+0100) Subject: event/octeontx: fix build for gcc < 4.6 X-Git-Tag: spdx-start~3703 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=1daa21de5b8452e4f5d23d4e9959fc8849e04f52;p=dpdk.git event/octeontx: fix build for gcc < 4.6 -Ofast option supported from gcc4.6 [1], for older versions using "-O3 -ffast-math" instead. [1] build error: cc1: error: invalid option argument ‘-Ofast’ Also struct initialization build error [2] fixed. [2] build error: .../event/octeontx/ssovf_mbox.c: In function ‘mbox_send_request’: .../event/octeontx/ssovf_mbox.c:95:9: error: unknown field ‘u64’ specified in initializer Fixes: 32ff26393bb2 ("event/octeontx: add SSO HW device operations") Signed-off-by: Ferruh Yigit Acked-by: Jerin Jacob --- diff --git a/drivers/event/octeontx/Makefile b/drivers/event/octeontx/Makefile index b26e35beb5..aca3d095ca 100644 --- a/drivers/event/octeontx/Makefile +++ b/drivers/event/octeontx/Makefile @@ -50,10 +50,19 @@ SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_worker.c SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_evdev.c SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_probe.c SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_mbox.c + ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y) CFLAGS_ssovf_worker.o += -fno-prefetch-loop-arrays + +ifeq ($(shell test $(GCC_VERSION) -ge 46 && echo 1), 1) +CFLAGS_ssovf_worker.o += -Ofast +else +CFLAGS_ssovf_worker.o += -O3 -ffast-math endif + +else CFLAGS_ssovf_worker.o += -Ofast +endif # install this header file SYMLINK-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF)-include := rte_pmd_octeontx_ssovf.h diff --git a/drivers/event/octeontx/ssovf_mbox.c b/drivers/event/octeontx/ssovf_mbox.c index 0435f6d759..7394a3a978 100644 --- a/drivers/event/octeontx/ssovf_mbox.c +++ b/drivers/event/octeontx/ssovf_mbox.c @@ -92,7 +92,7 @@ mbox_send_request(struct mbox *m, struct octeontx_mbox_hdr *hdr, const void *txmsg, uint16_t txsize) { struct mbox_ram_hdr old_hdr; - struct mbox_ram_hdr new_hdr = {.u64 = 0}; + struct mbox_ram_hdr new_hdr = { {0} }; uint64_t *ram_mbox_hdr = (uint64_t *)m->ram_mbox_base; uint8_t *ram_mbox_msg = m->ram_mbox_base + sizeof(struct mbox_ram_hdr);