From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.warmcat.com (mail.warmcat.com [163.172.24.82]) by dpdk.org (Postfix) with ESMTP id 2CB26A498 for ; Mon, 21 May 2018 04:06:08 +0200 (CEST) To: Thomas Monjalon Cc: dev@dpdk.org References: <152627436523.53156.4398253089110011263.stgit@localhost.localdomain> <152656480225.46638.3271983577765861155.stgit@localhost.localdomain> <2776412.uDdhf0LMkq@xps> From: Andy Green Message-ID: Date: Mon, 21 May 2018 10:06:01 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 In-Reply-To: <2776412.uDdhf0LMkq@xps> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v5 00/21] Fixes for GCC8 against lagopus X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 May 2018 02:06:08 -0000 On 05/21/2018 06:18 AM, Thomas Monjalon wrote: >> Andy Green (21): >> lib/librte_ethdev: change eth-dev-ops API to return int >> rte_string_fns.h: fix gcc8.1 sign conv warning in lstrcpy >> lib/librte_eal: explicit tmp cast >> /lib/librte_eal: stage cast from uint64 to long >> rte_ring_generic.h: stack declarations before code >> rte_ring.h: remove signed type flipflopping >> rte_mbuf.h: avoid warnings from inadvertant promotion >> rte_mbuf.h: explicit casts for int16 to uint16 >> rte_mbuf.h: make sure RTE-MIN compares same types >> rte_mbuf.h: explicit cast restricting ptrdiff to uint16 >> rte_ether.h: explicit cast avoiding truncation warning >> rte_rwlock.h: gcc8 sign conversion warnings >> rte_ip.h: cast input to bswap16 to be uint16 >> rte_ip.h: cast around promotion to int >> rte_ip.h: cast type decided by sizeof to uint32 >> rte_ip.h: cast return checksum size to uint16 >> rte_ip.h: cast away gcc8 warning on rte_ipv6_phdr_cksum >> rte_mbuf.h: explicit cast for size type to uint32 >> rte_mbuf.h: explicit casts to uint16 to avoid warnings >> rte_ethdev.h: align sign and scope of temp var >> rte_byteorder.h: explicit cast for return promotion > > 16 patches have been applied. > The tags Fixes and Cc:stable have been added, so they can be backported. Thanks a lot for the help. > 5 patches are missing: > lib/librte_eal: explicit tmp cast > rte_rwlock.h: gcc8 sign conversion warnings > rte_ip.h: cast type decided by sizeof to uint32 > rte_mbuf.h: explicit casts to uint16 to avoid warnings > rte_ethdev.h: align sign and scope of temp var > Those patches are either not reviewed, or not safe enough at this release stage. Well, at least several of them are actually a NOP wrt "safety", since they just do the cast that pre-gcc v8 was doing silently until now. I can see it's not exactly easy to know that at a glance though. I added a rationale for what each patch is doing making it clear where it is effectively a NOP just making explicit what was implicit before. > Please, feel free to send them again in a v6 to make clear they need more review. ... well, you may find them easier to parse in the v6 I just pushed. > I think the mbuf one (for uint16_t) may deserve to be split. Yes looking at it, it is three patches in one. I split it out. -Andy > Thanks > >