From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0710741EAF; Thu, 16 Mar 2023 11:06:32 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D134142D2D; Thu, 16 Mar 2023 11:06:31 +0100 (CET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id E943D40FDF; Thu, 16 Mar 2023 11:06:29 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1678961190; x=1710497190; h=date:from:to:cc:subject:message-id:references: content-transfer-encoding:in-reply-to:mime-version; bh=7fJJwZWTBIKf9wdO+vCOl8VRHdMpkuHE3dT+RpdvqsE=; b=h7cxYbRwD1tRdxv8dyMr2a0pK3rlK5ZawZs4pMXVxT2M3F9fpecewzea pEGvJdH0002y0QisWqL0MjR6rq4hNVMoHbMLpHKzC2nUSylzqzYbO293/ 3NE542sCzOtxT40Zm/lK4m2kZdyZ+dJBaicMbb8yg9xBYcJ2/rAYtuGAs u9YMWcCpVh3chB55H+8qqFZQr3QGK8KZgNhdEKvr6CebmGXyB1M9Cx6NQ msoVhYlNqKi2D5OblVjTDJZ2fjOCnTV1EXGxDSAJlcCHOa1YhdVcSA9vc Qpwe6E+NJuaeSyXrACwU9naYwd5O7rl+0gemdD5f4Ci4XXj3j4ocR1s0v w==; X-IronPort-AV: E=McAfee;i="6500,9779,10650"; a="317595325" X-IronPort-AV: E=Sophos;i="5.98,265,1673942400"; d="scan'208";a="317595325" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Mar 2023 03:06:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10650"; a="679845641" X-IronPort-AV: E=Sophos;i="5.98,265,1673942400"; d="scan'208";a="679845641" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga002.jf.intel.com with ESMTP; 16 Mar 2023 03:06:28 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Thu, 16 Mar 2023 03:06:28 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Thu, 16 Mar 2023 03:06:27 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21 via Frontend Transport; Thu, 16 Mar 2023 03:06:27 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.57.47) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.21; Thu, 16 Mar 2023 03:06:23 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FAokLE37BR2ro48z17GBpKrlDtc05eOuY8brwnIld6WwVNy++MtJyMKLlk39NHzCRfzzue9AQY7rKL846PUocY5RSd3u8ZXjli15MvoP2cMKPZazmuiFQp1g0kwVbQHOB0Alrr/3xp7dyvKvJgn4p9j5byxFQODhrf96Z4aKKanOKPqwcy9BkLc25Y4JDhU7HPDfRhheWoL3dDyVBd7vxy4nH8ZSxMS3M1Rg3RRDtxxjrRBN2K2nD7W0e6jWeY6YBbfv9XNPCRbQ1FtEJNBDHpkwxReznane/vbv5kIsKDLNQfi7k6DZ7YIY9zQ0UaTBDt0l/B7SyhicKts4fMtWZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=umcGGP+39ruVT50hOSBnXJ9103MNHCCQVk6DTs4tlnI=; b=LVvaSZ5Sxlul7quWpv8TeZt0tmi8HaY/6wM9KvdlZod1RSna5AU9j2xALO3bIu3xQLjAiXVPb98I+RJSCsetwJ3Nvf8rNyp6Xv30UASmTB8flKPQbC4JHlUldttcr8Kn6FOls7Dmh4ULhs1BwyJxsImYvDXOSE/WjilfhvefwRm+LNh19B/tYee+fzwzR2XuZyEhhKKNSfOO0kBhkd7ge9XNGjaNbpVBweygQPIVwprDbXb18nZD6SjjISoQBFsK/GLltRpVDb6lrmd0uqyNyX3aDp2tSUVpA4/qjLEGAjdLB9MfwCFw7vB5B8AfX2dvqLwIhZoebvqUAW/NmWpx0g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17) by PH8PR11MB7072.namprd11.prod.outlook.com (2603:10b6:510:214::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Thu, 16 Mar 2023 10:06:21 +0000 Received: from DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::18d0:ac53:aa1d:d19c]) by DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::18d0:ac53:aa1d:d19c%5]) with mapi id 15.20.6178.024; Thu, 16 Mar 2023 10:06:21 +0000 Date: Thu, 16 Mar 2023 10:06:15 +0000 From: Bruce Richardson To: David Marchand CC: Honnappa Nagarahalli , Konstantin Ananyev , Thomas Monjalon , "ci@dpdk.org" , Aaron Conole , dev , Patrick Robb , Kevin Traynor Subject: Re: Meson buildtype for ci jobs? Message-ID: References: Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-ClientProxiedBy: DB7PR05CA0034.eurprd05.prod.outlook.com (2603:10a6:10:36::47) To DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR11MB7309:EE_|PH8PR11MB7072:EE_ X-MS-Office365-Filtering-Correlation-Id: fb9f7991-5e5d-4fc4-0cb0-08db2606176d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hGxQQeXa2cXAGQJNlAJNpfgxxriT/GFOnRQA+zoAS++V90DBYJwCgUTzHH2QD2AdNu+3Khcw0WZ2p3Qpk2ajid+wyTsZ6iyXBRLtLX5qNXbPAqGeSqs7wGeczBkLVXGuLKm1ReWm2v71dipATUxx5Ov42JufXC+WNvV4Nrbjku5rtaiKKzDMduvSzoouzJhdEV+wStSTZMhqcZ/+UH0/+kMFcOWGGKLIJvGyW28lywdkKAlOAzHT/yBZ1HFTVyogqCk3adK8aCW01zrJY8RRrswCtmAgJHWhN0jjW4+ElRGJAxTXQajjqeq/BafqJPH+Y9kgfooP19DiU7JyZlaoSyMz75/G28YnGUz08Qfr8jyLbQr5BDcgj4wctp+xLOcOBecIogi8+Su6NMlQO/KysiK6E5LUmj//xu/blYrkZ1KRg+f6wjJfS2wf6s/GVivunqPt4oxxegDfvtaOnk1t1GipaGgk0p1wXtmUvjlEwkAwPL08YtIEvjhQrlNTIHRgxfuP8iDfkdUn9ZuOw82SFOUMdEFgm/3a1KbTizKlYCuveJawLTRN1PPLQrw73lp3PwOuD5uB3sSeDmaThv4GJwuxvvKqmplpJr08bHj56LCihul10Tzso9XpLEl2igrEvpSaTWmsVhL3r4S/3c95yrkeCfKqGpJDIkzwpdY+ahg= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS0PR11MB7309.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(396003)(136003)(366004)(39860400002)(376002)(346002)(451199018)(6666004)(6486002)(966005)(82960400001)(186003)(5660300002)(44832011)(8936002)(53546011)(83380400001)(66556008)(30864003)(8676002)(41300700001)(4326008)(66946007)(2906002)(66476007)(26005)(478600001)(38100700002)(316002)(6916009)(6512007)(86362001)(6506007)(54906003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MlExYjQxT1plbndpaTJNYXJ1czMrNWNQdno5VGtPLzcvZTRWSnBpOXpscEJk?= =?utf-8?B?RmR1T2llallHeEJlcnMvNk0wdkdqV2NRUlo5QXFjTnlGMUkvbGJVUHcySm1n?= =?utf-8?B?djQzZTZYRFcwNzFRMmFXaDVXOFRueXNhYy9XWWc0TjI5US96WGlUcHM4aWcw?= =?utf-8?B?VkxuTlBNZHY1RzdDZXNjWnpGVFRDd1dBL0E5M1BJaVZ5K3BYejh5Tk91RnE4?= =?utf-8?B?RXBjMnUxemNFK2srNFlla3BON09YYTlhcjAyUml4UW5DYXNEcXB1STN5Ylcz?= =?utf-8?B?UVlORHZUU3BzbnFYcUJSa0kvU3pnRHhtbjR1T2NJS0JiQnorcTJhRVhQeHEw?= =?utf-8?B?NVBLY2l6ZzJRYVFudk5taTljRVpCQjk1RVR3eVBrZVVTa1BzTUlORXlwdXR2?= =?utf-8?B?VDVHazJ1bm9TUU54eVBlbno5MkpPSWIvWUVGKzJZK3VlZDlaWnVJbTlNajRK?= =?utf-8?B?amFKc3VvbW9BbzJPSnJlVEdBeWw0QXRVQ1hhckI2YUVQRWl6VmRjN3ZJZzBN?= =?utf-8?B?VHdsM29xY2tLTDZYenVaZFNBZEk4bGxmd2JUamN6Y2JwWG5oaHhnVC9tY21E?= =?utf-8?B?SFREaTJEZ0JlSWNaL3NaanVmczVGTzloZ1V6ZXFQbnVhck5vMloyVVNtRW1S?= =?utf-8?B?ek9HNHNYSmVEL2FlbDB1UGtzQmVMbEppVGJXMitRT1NyY29TVEhyQmVEWmlv?= =?utf-8?B?V2ZIdFU2eGdxbzZoN0M0ajJxdkhISHVnb3BoTEhVT0JpNmgrOTFtSzNqOGpi?= =?utf-8?B?akdoMW02alNQL3NhWStlS3J6R2g3RWJZR0tTS3FUaU5FU0cvVXAzY0V2TGwv?= =?utf-8?B?ZlhXK0VkU09qMFpMR0tqNFpralVPRmRYUVYvQ21OZmxveFBTdVFha0pSUmFu?= =?utf-8?B?NTJuQ1M5S2RNK3IzZDFqOE1rbUxPMHYweGtKSE91OVJySUFjNTA4Rkwyb0NW?= =?utf-8?B?Y2FDTHVmSXEvRWFiU01TWUI4YWpRa1VzYXViRGltQzRiMXN1NkgzUG1UbkY5?= =?utf-8?B?VlRYZGZiVjRrNE1jNmV4Y2lPeTk2VXE3RDFSMnRxdVIzekJ6SnRXTWxVZDNz?= =?utf-8?B?c2xkQzkyMXB0elg1QVR2eXNLNXNwU1JuNTJWa3lKc0VDdnV5QkV1am5KZWpw?= =?utf-8?B?dk9Ld0N2eXcwVFR1c1JSeXpXNG92SERiVXZHTWdTVENJYXR1L3Q0S1lEdEo5?= =?utf-8?B?MHU1UVhKcDdrMEVMZURuRmtweU5Cend3OERvOFBEaW1lcjljZENZVlFZSmFj?= =?utf-8?B?ZUJ1cGp2bFdDK3JtL0wwUDdGenM2Q1ArSFN0am9rRE5ZMUJOdXBEWlZDOUxM?= =?utf-8?B?ZXVaRkhsUy9IZjZaTHpsK21idUxRTS9KVEpGcTg4MFBXUXFFOVMySjNMZ3NY?= =?utf-8?B?c2gvL3lSVnpxdWFybkRYWU42RXhkUWdBVFlFWjdBVEVFWHJSZVZtNWtzczZv?= =?utf-8?B?ZXNYeUdCc2xSc2lRc0ZnS3FyQ1k5UUY3d1FIV2hSakJhVWQxejVrWHBwVEFB?= =?utf-8?B?RmtVb0M4UzJKU0lvUnR5VjFXL2F1RitBeVRDN1Jpci9oa3Z5dzJBc3R1ZVdD?= =?utf-8?B?aUtQc0NKeEdtWTRsaG85cVNUR0V5bWFoMjlzN1M0cEVrcHcvUVpvQnZXK1d1?= =?utf-8?B?VHRYL0g1eHlhQUJicnJjZW8zdENNWTRveDg2Z3pWUnhPYTg5YUNhZ2NlYXB2?= =?utf-8?B?eitGRmF5eHIxd25CdW9ucGpMdkRKV3FqNWpTMHQvQndaWEN1Z1A3Q0dUQWxG?= =?utf-8?B?ODhvTEdBcFhxbTg0MSt4SzV3NDdtL1N4eU1DejhESjFaTkxBQmtGR2NlbWds?= =?utf-8?B?M1AvT2Q3bzJpWjUrMnEwaTB3VS9oR005SHRaSkwyVjIyYkNHWUp4NkdDRGk3?= =?utf-8?B?TEM5V3IwVnZLWEE0TEtsMmxja2hMWXRwZURaWHVGbTRRbzhmaUtJVDAyUjN6?= =?utf-8?B?YjQrTFdocTd2RVRHaXNtd0c4WGZ1ZVczbFFzWWFFVHI1cVhNaENqWTVQRnpI?= =?utf-8?B?MVFpYjE5UEJaVnJ0amtUdWNqZXMzclRSTnZtcVlyVFFhMWVxMGRubWVST3VM?= =?utf-8?B?V3VXT2tqYmlKb0RGVUsveUdpT3M0SUIzanpoYWdaMmkyeGlZckhmbHZTekhO?= =?utf-8?B?MFpaQ1pVMnVpWE1OcTZZRzVSZVZ0RWhWRGc4SDJ5TXNtVkw1MVpSM1RBS3NH?= =?utf-8?B?akE9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: fb9f7991-5e5d-4fc4-0cb0-08db2606176d X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB7309.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 10:06:21.1020 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: bdQC72wA4PABX/2VEWNz2mBJnRgtHwwtAVLxe40WOgxzdLSmGg5lOFAsgt2SNtEqvoXky1CknVRGxAkNzhXFQv8D4POSnP1uUYSJpmUMcxo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB7072 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On Thu, Mar 16, 2023 at 10:08:47AM +0100, David Marchand wrote: > On Thu, Mar 16, 2023 at 9:49 AM David Marchand > wrote: > > > > Adding dev@ mailing list and ring maintainers, > > > > On Wed, Mar 15, 2023 at 8:13 PM Patrick Robb wrote: > > >> > > >> Would passing "-Ddebug=true" be better than changing the default buildtype? > > >> It's possible to have a release build (i.e. O3 optimized) with debug info. > > > > > > > > > Strangely, even with -Ddebug true if I'm running buildtype "release" it returns the same warnings. I'm inferring from your comment that release optimization == debugoptimized optimization and debug behavior from -Ddebug=true == debug behavior from debugoptimized, so release buildtype + debug "should" have the same behavior as just setting buildtype debugoptimized, and yet... > > > > > > I'll have to look into this a little more. Hopefully by the end I'll be like David and understand the relations between these flags better, hah. > > > > As for how buildtype, optimizations and debug params are concerned, > > the summary is here: > > https://mesonbuild.com/Builtin-options.html#details-for-buildtype > > > > > > In my tests this morning with a Alpine container, I noticed that > > setting -Dplatform to native makes the issue disappear... > > So an additional factor is building with platform=generic. > > > > ~/dpdk # meson configure build | awk '{if ($1 ~ > > /^(buildtype|platform|debug|optimization)$/) { print $0; }}' > > buildtype debug [plain, debug, > > debugoptimized, release, minsize, custom] Build type to use > > debug true [true, false] > > Debug > > optimization 0 [0, g, 1, 2, 3, s] > > Optimization level > > platform generic > > Platform to build, either > > "native", "generic" or a SoC. Please refer to the Linux build guide > > for more information. > > > > ... > > > > In file included from ../lib/ring/rte_ring_elem.h:24, > > from ../lib/ring/rte_ring.h:43, > > from ../lib/mempool/rte_mempool.h:47, > > from ../lib/mbuf/rte_mbuf.h:38, > > from ../lib/net/rte_ether.h:22, > > from ../lib/ethdev/rte_eth_ctrl.h:10, > > from ../lib/ethdev/rte_ethdev.h:1421, > > from ../app/test/test_event_timer_adapter.c:14: > > In function '__rte_ring_enqueue_elems_128', > > inlined from '__rte_ring_enqueue_elems' at > > ../lib/ring/rte_ring_elem_pvt.h:132:3, > > inlined from '__rte_ring_do_enqueue_elem' at > > ../lib/ring/rte_ring_elem_pvt.h:328:2, > > inlined from 'rte_ring_mp_enqueue_bulk_elem' at > > ../lib/ring/rte_ring_elem.h:134:9, > > inlined from 'rte_ring_enqueue_bulk_elem' at > > ../lib/ring/rte_ring_elem.h:199:10, > > inlined from 'rte_ring_enqueue_elem' at ../lib/ring/rte_ring_elem.h:290:9, > > inlined from 'rte_ring_enqueue' at ../lib/ring/rte_ring.h:339:9, > > inlined from '_cancel_producer' at > > ../app/test/test_event_timer_adapter.c:834:10: > > ../lib/ring/rte_ring_elem_pvt.h:100:25: error: 'memcpy' reading 32 > > bytes from a region of size 8 [-Werror=stringop-overread] > > 100 | memcpy((void *)(ring + idx), > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > 101 | (const void *)(obj + i), 32); > > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > ../app/test/test_event_timer_adapter.c: In function '_cancel_producer': > > ../app/test/test_event_timer_adapter.c:805:1: note: source object > > 'obj' of size 8 > > 805 | _cancel_producer(uint64_t timeout_tcks, uint64_t timers) > > | ^~~~~~~~~~~~~~~~ > > In function '__rte_ring_enqueue_elems_128', > > inlined from '__rte_ring_enqueue_elems' at > > ../lib/ring/rte_ring_elem_pvt.h:132:3, > > inlined from '__rte_ring_do_enqueue_elem' at > > ../lib/ring/rte_ring_elem_pvt.h:328:2, > > inlined from 'rte_ring_sp_enqueue_bulk_elem' at > > ../lib/ring/rte_ring_elem.h:163:9, > > inlined from 'rte_ring_enqueue_bulk_elem' at > > ../lib/ring/rte_ring_elem.h:202:10, > > inlined from 'rte_ring_enqueue_elem' at ../lib/ring/rte_ring_elem.h:290:9, > > inlined from 'rte_ring_enqueue' at ../lib/ring/rte_ring.h:339:9, > > inlined from '_cancel_producer' at > > ../app/test/test_event_timer_adapter.c:834:10: > > ../lib/ring/rte_ring_elem_pvt.h:100:25: error: 'memcpy' reading 32 > > bytes from a region of size 8 [-Werror=stringop-overread] > > 100 | memcpy((void *)(ring + idx), > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > 101 | (const void *)(obj + i), 32); > > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > ../app/test/test_event_timer_adapter.c: In function '_cancel_producer': > > ../app/test/test_event_timer_adapter.c:805:1: note: source object > > 'obj' of size 8 > > 805 | _cancel_producer(uint64_t timeout_tcks, uint64_t timers) > > | ^~~~~~~~~~~~~~~~ > > In function '__rte_ring_enqueue_elems_128', > > inlined from '__rte_ring_enqueue_elems' at > > ../lib/ring/rte_ring_elem_pvt.h:132:3, > > inlined from '__rte_ring_do_rts_enqueue_elem' at > > ../lib/ring/rte_ring_rts_elem_pvt.h:211:3, > > inlined from 'rte_ring_mp_rts_enqueue_bulk_elem' at > > ../lib/ring/rte_ring_rts.h:83:9, > > inlined from 'rte_ring_enqueue_bulk_elem' at > > ../lib/ring/rte_ring_elem.h:205:10, > > inlined from 'rte_ring_enqueue_elem' at ../lib/ring/rte_ring_elem.h:290:9, > > inlined from 'rte_ring_enqueue' at ../lib/ring/rte_ring.h:339:9, > > inlined from '_cancel_producer' at > > ../app/test/test_event_timer_adapter.c:834:10: > > ../lib/ring/rte_ring_elem_pvt.h:100:25: error: 'memcpy' reading 32 > > bytes from a region of size 8 [-Werror=stringop-overread] > > 100 | memcpy((void *)(ring + idx), > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > 101 | (const void *)(obj + i), 32); > > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > ../app/test/test_event_timer_adapter.c: In function '_cancel_producer': > > ../app/test/test_event_timer_adapter.c:805:1: note: source object > > 'obj' of size 8 > > 805 | _cancel_producer(uint64_t timeout_tcks, uint64_t timers) > > | ^~~~~~~~~~~~~~~~ > > In function '__rte_ring_enqueue_elems_128', > > inlined from '__rte_ring_enqueue_elems' at > > ../lib/ring/rte_ring_elem_pvt.h:132:3, > > inlined from '__rte_ring_do_hts_enqueue_elem' at > > ../lib/ring/rte_ring_hts_elem_pvt.h:196:3, > > inlined from 'rte_ring_mp_hts_enqueue_bulk_elem' at > > ../lib/ring/rte_ring_hts.h:56:9, > > inlined from 'rte_ring_enqueue_bulk_elem' at > > ../lib/ring/rte_ring_elem.h:208:10, > > inlined from 'rte_ring_enqueue_elem' at ../lib/ring/rte_ring_elem.h:290:9, > > inlined from 'rte_ring_enqueue' at ../lib/ring/rte_ring.h:339:9, > > inlined from '_cancel_producer' at > > ../app/test/test_event_timer_adapter.c:834:10: > > ../lib/ring/rte_ring_elem_pvt.h:100:25: error: 'memcpy' reading 32 > > bytes from a region of size 8 [-Werror=stringop-overread] > > 100 | memcpy((void *)(ring + idx), > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > 101 | (const void *)(obj + i), 32); > > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > ../app/test/test_event_timer_adapter.c: In function '_cancel_producer': > > ../app/test/test_event_timer_adapter.c:805:1: note: source object > > 'obj' of size 8 > > 805 | _cancel_producer(uint64_t timeout_tcks, uint64_t timers) > > | ^~~~~~~~~~~~~~~~ > > In function '__rte_ring_dequeue_elems_128', > > inlined from '__rte_ring_dequeue_elems' at > > ../lib/ring/rte_ring_elem_pvt.h:262:3, > > inlined from '__rte_ring_do_dequeue_elem' at > > ../lib/ring/rte_ring_elem_pvt.h:375:2, > > inlined from 'rte_ring_mc_dequeue_bulk_elem' at > > ../lib/ring/rte_ring_elem.h:320:9, > > inlined from 'rte_ring_dequeue_bulk_elem' at > > ../lib/ring/rte_ring_elem.h:381:10, > > inlined from 'rte_ring_dequeue_elem' at ../lib/ring/rte_ring_elem.h:475:9, > > inlined from 'rte_ring_dequeue' at ../lib/ring/rte_ring.h:477:9, > > inlined from '_cancel_thread' at > > ../app/test/test_event_timer_adapter.c:917:7: > > ../lib/ring/rte_ring_elem_pvt.h:234:25: error: 'memcpy' writing 32 > > bytes into a region of size 8 overflows the destination > > [-Werror=stringop-overflow=] > > 234 | memcpy((void *)(obj + i), (void > > *)(ring + idx), 32); > > | > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > ../app/test/test_event_timer_adapter.c: In function '_cancel_thread': > > ../app/test/test_event_timer_adapter.c:913:33: note: destination > > object 'ev_tim' of size 8 > > 913 | struct rte_event_timer *ev_tim = NULL; > > | ^~~~~~ > > In function '__rte_ring_dequeue_elems_128', > > inlined from '__rte_ring_dequeue_elems' at > > ../lib/ring/rte_ring_elem_pvt.h:262:3, > > inlined from '__rte_ring_do_dequeue_elem' at > > ../lib/ring/rte_ring_elem_pvt.h:375:2, > > inlined from 'rte_ring_sc_dequeue_bulk_elem' at > > ../lib/ring/rte_ring_elem.h:348:9, > > inlined from 'rte_ring_dequeue_bulk_elem' at > > ../lib/ring/rte_ring_elem.h:384:10, > > inlined from 'rte_ring_dequeue_elem' at ../lib/ring/rte_ring_elem.h:475:9, > > inlined from 'rte_ring_dequeue' at ../lib/ring/rte_ring.h:477:9, > > inlined from '_cancel_thread' at > > ../app/test/test_event_timer_adapter.c:917:7: > > ../lib/ring/rte_ring_elem_pvt.h:234:25: error: 'memcpy' writing 32 > > bytes into a region of size 8 overflows the destination > > [-Werror=stringop-overflow=] > > 234 | memcpy((void *)(obj + i), (void > > *)(ring + idx), 32); > > | > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > ../app/test/test_event_timer_adapter.c: In function '_cancel_thread': > > ../app/test/test_event_timer_adapter.c:913:33: note: destination > > object 'ev_tim' of size 8 > > 913 | struct rte_event_timer *ev_tim = NULL; > > | ^~~~~~ > > In function '__rte_ring_dequeue_elems_128', > > inlined from '__rte_ring_dequeue_elems' at > > ../lib/ring/rte_ring_elem_pvt.h:262:3, > > inlined from '__rte_ring_do_rts_dequeue_elem' at > > ../lib/ring/rte_ring_rts_elem_pvt.h:252:3, > > inlined from 'rte_ring_mc_rts_dequeue_bulk_elem' at > > ../lib/ring/rte_ring_rts.h:110:9, > > inlined from 'rte_ring_dequeue_bulk_elem' at > > ../lib/ring/rte_ring_elem.h:387:10, > > inlined from 'rte_ring_dequeue_elem' at ../lib/ring/rte_ring_elem.h:475:9, > > inlined from 'rte_ring_dequeue' at ../lib/ring/rte_ring.h:477:9, > > inlined from '_cancel_thread' at > > ../app/test/test_event_timer_adapter.c:917:7: > > ../lib/ring/rte_ring_elem_pvt.h:234:25: error: 'memcpy' writing 32 > > bytes into a region of size 8 overflows the destination > > [-Werror=stringop-overflow=] > > 234 | memcpy((void *)(obj + i), (void > > *)(ring + idx), 32); > > | > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > ../app/test/test_event_timer_adapter.c: In function '_cancel_thread': > > ../app/test/test_event_timer_adapter.c:913:33: note: destination > > object 'ev_tim' of size 8 > > 913 | struct rte_event_timer *ev_tim = NULL; > > | ^~~~~~ > > In function '__rte_ring_dequeue_elems_128', > > inlined from '__rte_ring_dequeue_elems' at > > ../lib/ring/rte_ring_elem_pvt.h:262:3, > > inlined from '__rte_ring_do_hts_dequeue_elem' at > > ../lib/ring/rte_ring_hts_elem_pvt.h:237:3, > > inlined from 'rte_ring_mc_hts_dequeue_bulk_elem' at > > ../lib/ring/rte_ring_hts.h:83:9, > > inlined from 'rte_ring_dequeue_bulk_elem' at > > ../lib/ring/rte_ring_elem.h:390:10, > > inlined from 'rte_ring_dequeue_elem' at ../lib/ring/rte_ring_elem.h:475:9, > > inlined from 'rte_ring_dequeue' at ../lib/ring/rte_ring.h:477:9, > > inlined from '_cancel_thread' at > > ../app/test/test_event_timer_adapter.c:917:7: > > ../lib/ring/rte_ring_elem_pvt.h:234:25: error: 'memcpy' writing 32 > > bytes into a region of size 8 overflows the destination > > [-Werror=stringop-overflow=] > > 234 | memcpy((void *)(obj + i), (void > > *)(ring + idx), 32); > > | > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > ../app/test/test_event_timer_adapter.c: In function '_cancel_thread': > > ../app/test/test_event_timer_adapter.c:913:33: note: destination > > object 'ev_tim' of size 8 > > 913 | struct rte_event_timer *ev_tim = NULL; > > | ^~~~~~ > > cc1: all warnings being treated as errors > > ninja: subcommands failed > > > > > > This is gcc (Alpine 12.2.1_git20220924-r4) 12.2.1 20220924. > > > > The compiler seems unhappy about the rte_int128_t type. > > The below hunk seems to (confuse?) help the compiler. > > > > diff --git a/lib/ring/rte_ring_elem_pvt.h b/lib/ring/rte_ring_elem_pvt.h > > index 83788c56e6..ece937f8e1 100644 > > --- a/lib/ring/rte_ring_elem_pvt.h > > +++ b/lib/ring/rte_ring_elem_pvt.h > > @@ -98,7 +98,7 @@ __rte_ring_enqueue_elems_128(struct rte_ring *r, > > uint32_t prod_head, > > if (likely(idx + n <= size)) { > > for (i = 0; i < (n & ~0x1); i += 2, idx += 2) > > memcpy((void *)(ring + idx), > > - (const void *)(obj + i), 32); > > + (const void *)((uintptr_t)obj + i), 32); > > switch (n & 0x1) { > > case 1: > > memcpy((void *)(ring + idx), > > @@ -231,7 +231,7 @@ __rte_ring_dequeue_elems_128(struct rte_ring *r, > > uint32_t prod_head, > > rte_int128_t *obj = (rte_int128_t *)obj_table; > > if (likely(idx + n <= size)) { > > for (i = 0; i < (n & ~0x1); i += 2, idx += 2) > > - memcpy((void *)(obj + i), (void *)(ring + idx), 32); > > + memcpy((void *)((uintptr_t)obj + i), (void *)(ring + idx), 32); > > switch (n & 0x1) { > > case 1: > > memcpy((void *)(obj + i), (void *)(ring + idx), 16); > > > > > > RTE_PTR_ADD has the same effect. > > > > This seems what Kevin had worked around for 21.11 release: > https://inbox.dpdk.org/stable/20221220123754.239802-1-ktraynor@redhat.com/ > > I would tend to do the same and disable this warning for rc3 at least, > and have stable branches and the main repository aligned. > We can have a better fix later. > > Opinions? > No objections.