From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Green Subject: [PATCH v3 00/40] Fix build on gcc8 and various bugs Date: Thu, 10 May 2018 10:46:18 +0800 Message-ID: <152591991920.119328.14523975619615362920.stgit@localhost.localdomain> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit To: dev@dpdk.org Return-path: Received: from mail.warmcat.com (mail.warmcat.com [163.172.24.82]) by dpdk.org (Postfix) with ESMTP id 3EED71B76F for ; Thu, 10 May 2018 04:46:43 +0200 (CEST) List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The following series gets current master able to build itself, and allow lagopus to build against it, on Fedora 28 + x86_64 using gcc 8.0.1. The first 17 patches have already been through two spins and this time are corrected for all the comment (thanks to everybody who commented) since v2, and have tested-by / acked-bys applied. The first workaround patch for the hash function cast problem is dropped since something has already been applied in master since yesterday to address it. The additional 23 patches are fixes for problems found actually trying to build lagopus using current master. These are almost entirely related to signed / unsigned or truncation without explicit casts inside dpdk headers. --- Andy Green (40): drivers/bus/pci: fix strncpy dangerous code drivers/bus/dpaa: fix inconsistent struct alignment drivers/net/axgbe: fix broken eeprom string comp drivers/net/nfp/nfpcore: fix strncpy misuse drivers/net/nfp/nfpcore: fix off-by-one and no NUL on strncpy use drivers/net/nfp: don't memcpy out of source range drivers/net/nfp: fix buffer overflow in fw_name drivers/net/qede: fix strncpy constant and NUL drivers/net/qede: fix broken strncpy drivers/net/sfc: fix strncpy length drivers/net/sfc: fix strncpy size and NUL drivers/net/vdev: readlink inputs cannot be aliased drivers/net/vdev: fix 3 x strncpy misuse app/test-pmd: can't find include app/proc-info: fix sprintf overrun bug app/test-bbdev: test-bbdev: strcpy ok for allocated string app/test-bbdev: strcpy ok for allocated string rte_common.h: cast gcc builtin result to avoid complaints rte_memcpy.h: explicit tmp cast lib/librte_eal/common/include/rte_lcore.h: explicit cast for signed change /lib/librte_eal/common/include/rte_random.h: stage cast from uint64_t to long rte_spinlock.h: stack declarations before code rte_ring_generic.h: stack declarations before code rte_ring.h: remove signed type flipflopping rte_dev.h: stack declaration at top of own basic block rte_mbuf.h: avoid truncation warnings from inadvertant int16_t to int promotion rte_mbuf.h: explicit casts for flipping between int16_t and uint16_t rte_mbuf.h: make sure RTE_MIN compares same types rte_mbuf.h: explicit cast restricting ptrdiff to uint16_t rte_mbuf.h: explicit cast for size_t to uint32_t rte_mbuf.h: explicit casts to uint16_t to avoid truncation warnings rte_byteorder.h: explicit cast for return promotion rte_ether.h: explicit cast avoiding truncation warning rte_ether.h: stack vars declared at top of function rte_ethdev.h: fix sign and scope of temp var rte_ethdev.h: explicit cast for return type rte_ethdev.h: explicit cast for truncation rte_hash_crc.h: stack vars declared at top of function rte_hash_crc.h: explicit casts for truncation rte_string_fns.h: explicit cast for int return to size_t app/proc-info/main.c | 9 ++++- app/test-bbdev/test_bbdev_vector.c | 5 ++- app/test-pmd/Makefile | 1 + drivers/bus/dpaa/base/qbman/qman.c | 14 ++++---- drivers/bus/dpaa/include/fsl_qman.h | 24 +++++++------ drivers/bus/pci/linux/pci.c | 2 + drivers/net/axgbe/axgbe_phy_impl.c | 4 +- drivers/net/nfp/nfp_net.c | 6 ++- drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c | 4 ++ drivers/net/nfp/nfpcore/nfp_resource.c | 10 +++--- drivers/net/qede/base/ecore_int.c | 8 +++- drivers/net/qede/qede_main.c | 7 ++-- drivers/net/sfc/sfc_ethdev.c | 6 ++- drivers/net/vdev_netvsc/vdev_netvsc.c | 15 +++++--- .../common/include/arch/x86/rte_memcpy.h | 8 ++-- .../common/include/arch/x86/rte_spinlock.h | 4 ++ .../common/include/generic/rte_byteorder.h | 2 + lib/librte_eal/common/include/rte_common.h | 2 + lib/librte_eal/common/include/rte_dev.h | 15 +++++--- lib/librte_eal/common/include/rte_lcore.h | 2 + lib/librte_eal/common/include/rte_random.h | 6 ++- lib/librte_eal/common/include/rte_string_fns.h | 2 + lib/librte_ethdev/rte_ethdev.h | 32 +++++++++++------- lib/librte_hash/rte_hash_crc.h | 11 +++--- lib/librte_mbuf/rte_mbuf.h | 36 +++++++++++--------- lib/librte_net/rte_ether.h | 5 ++- lib/librte_ring/rte_ring.h | 4 +- lib/librte_ring/rte_ring_c11_mem.h | 2 + lib/librte_ring/rte_ring_generic.h | 10 ++---- 29 files changed, 144 insertions(+), 112 deletions(-) -- Signature