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 BA4EEA0032 for ; Wed, 16 Mar 2022 16:16:06 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B52D6410F6; Wed, 16 Mar 2022 16:16:06 +0100 (CET) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mails.dpdk.org (Postfix) with ESMTP id 9EC2941160 for ; Wed, 16 Mar 2022 16:16:04 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1647443764; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=K4d7F3i4r+V+AKdKgvxLMcmGrfsZDkwPmAvQIjdVb5g=; b=c59Y2APdN8EO5ug26cXm3VWiSoahCVpUXL4NWFSznnbz7VnQCQFXb+y3uX3SSXoqm/yg5B F+322EY/NRAsqrx7s/mfhZZ29uCk65wWQ7D8TQulpdHsvh96C47BLEC+eGK5dFo/hbkddz XK+tLlik2lMAUTTHs/a1ReRP7IJvBJI= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-55-6Rg51Ry-Pr6L-BKzCWwFOQ-1; Wed, 16 Mar 2022 11:16:01 -0400 X-MC-Unique: 6Rg51Ry-Pr6L-BKzCWwFOQ-1 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 9AE808D3765; Wed, 16 Mar 2022 15:16:01 +0000 (UTC) Received: from rh.redhat.com (unknown [10.39.195.131]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0280E4B8D43; Wed, 16 Mar 2022 15:16:00 +0000 (UTC) From: Kevin Traynor To: Bruce Richardson Cc: dpdk stable Subject: patch 'eventdev: fix clang C++ include' has been queued to stable release 21.11.1 Date: Wed, 16 Mar 2022 15:15:21 +0000 Message-Id: <20220316151524.1242199-20-ktraynor@redhat.com> In-Reply-To: <20220316151524.1242199-1-ktraynor@redhat.com> References: <20220316151524.1242199-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.85 on 10.11.54.10 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ktraynor@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 21.11.1 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 03/21/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/kevintraynor/dpdk-stable This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/51397954d024e602f54b68a3ce964f01f340c3a4 Thanks. Kevin --- >From 51397954d024e602f54b68a3ce964f01f340c3a4 Mon Sep 17 00:00:00 2001 From: Bruce Richardson Date: Fri, 11 Mar 2022 20:05:23 +0000 Subject: [PATCH] eventdev: fix clang C++ include [ upstream commit 699155f2d4e278392ace7645f5b9d60fcf8b1454 ] When compiling on FreeBSD with clang and include checking enabled, errors are emitted due to differences in how empty structs/unions are handled in C and C++, as C++ structs cannot have zero size. lib/eventdev/rte_eventdev.h:992:2: error: union has size 0 in C, non-zero size in C++ Since the contents of the union are all themselves of zero size, the actual union wrapper is unnecessary. We therefore remove it for C++ builds - though keep it for C builds for safety and clarity of understanding the code. The alignment constraint on the union is unnecessary in the case where the whole struct is aligned on a 16-byte boundary, so we add that constraint to the overall structure to ensure it applies for C++ code as well as C. Fixes: 1cc44d409271 ("eventdev: introduce event vector capability") Signed-off-by: Bruce Richardson --- lib/eventdev/rte_eventdev.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h index 25fb7c89dd..476bcbcc21 100644 --- a/lib/eventdev/rte_eventdev.h +++ b/lib/eventdev/rte_eventdev.h @@ -987,4 +987,11 @@ struct rte_event_vector { /**< Union to hold common attributes of the vector array. */ uint64_t impl_opaque; + +/* empty structures do not have zero size in C++ leading to compilation errors + * with clang about structure having different sizes in C and C++. + * Since these are all zero-sized arrays, we can omit the "union" wrapper for + * C++ builds, removing the warning. + */ +#ifndef __cplusplus /**< Implementation specific opaque value. * An implementation may use this field to hold implementation specific @@ -993,13 +1000,16 @@ struct rte_event_vector { */ union { +#endif struct rte_mbuf *mbufs[0]; void *ptrs[0]; uint64_t *u64s[0]; +#ifndef __cplusplus } __rte_aligned(16); +#endif /**< Start of the vector array union. Depending upon the event type the * vector array can be an array of mbufs or pointers or opaque u64 * values. */ -}; +} __rte_aligned(16); /* Scheduler type definitions */ -- 2.34.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-03-16 15:14:12.596141224 +0000 +++ 0020-eventdev-fix-clang-C-include.patch 2022-03-16 15:14:12.127847666 +0000 @@ -1 +1 @@ -From 699155f2d4e278392ace7645f5b9d60fcf8b1454 Mon Sep 17 00:00:00 2001 +From 51397954d024e602f54b68a3ce964f01f340c3a4 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 699155f2d4e278392ace7645f5b9d60fcf8b1454 ] + @@ -22 +23,0 @@ -Cc: stable@dpdk.org @@ -30 +31 @@ -index 67c4a5e036..42a5660169 100644 +index 25fb7c89dd..476bcbcc21 100644 @@ -33 +34 @@ -@@ -985,4 +985,11 @@ struct rte_event_vector { +@@ -987,4 +987,11 @@ struct rte_event_vector { @@ -45 +46 @@ -@@ -991,13 +998,16 @@ struct rte_event_vector { +@@ -993,13 +1000,16 @@ struct rte_event_vector {