Since sparse v0.6.4 (which is 3 years old and happens to be the latest
official release), GCC atomic builtins are recognised by sparse
(see below first three links).

In the case of rte_atomic.h, DPDK stopped using __sync in favor of
__atomic builtin in v23.07 (see below last link).
However, no OVS developer complained about sparse build failures because
of rte_atomic.h which means that everyone uses a recent sparse (if any).

Remove wrappers around those DPDK headers.

Link: 
https://git.kernel.org/pub/scm/devel/sparse/sparse.git/commit/?id=cf8f104749f5
Link: 
https://git.kernel.org/pub/scm/devel/sparse/sparse.git/commit/?id=7cdf84691f33
Link: 
https://git.kernel.org/pub/scm/devel/sparse/sparse.git/commit/?id=f42e2afa9ed0
Link: https://git.dpdk.org/dpdk/commit/?id=a2f807316dae
Signed-off-by: David Marchand <david.march...@redhat.com>
---
 include/sparse/automake.mk       |  3 ---
 include/sparse/rte_atomic.h      | 25 -------------------------
 include/sparse/rte_mbuf.h        | 29 -----------------------------
 include/sparse/rte_trace_point.h | 28 ----------------------------
 4 files changed, 85 deletions(-)
 delete mode 100644 include/sparse/rte_atomic.h
 delete mode 100644 include/sparse/rte_mbuf.h
 delete mode 100644 include/sparse/rte_trace_point.h

diff --git a/include/sparse/automake.mk b/include/sparse/automake.mk
index 45e6202c52..052a1b4b82 100644
--- a/include/sparse/automake.mk
+++ b/include/sparse/automake.mk
@@ -12,10 +12,7 @@ noinst_HEADERS += \
         include/sparse/netinet/ip6.h \
         include/sparse/netpacket/packet.h \
         include/sparse/pthread.h \
-        include/sparse/rte_atomic.h \
-        include/sparse/rte_mbuf.h \
         include/sparse/rte_memcpy.h \
-        include/sparse/rte_trace_point.h \
         include/sparse/sys/socket.h \
         include/sparse/sys/sysmacros.h \
         include/sparse/sys/types.h \
diff --git a/include/sparse/rte_atomic.h b/include/sparse/rte_atomic.h
deleted file mode 100644
index ae49fe5c03..0000000000
--- a/include/sparse/rte_atomic.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright (c) 2015 Nicira, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CHECKER__
-#error "Use this header only with sparse.  It is not a correct implementation."
-#endif
-
-/* Fix sparse technicality about types in one of the function calls by just
- * ignoring it. */
-#define __sync_add_and_fetch(a, b) (0)
-
-/* Get actual <rte_atomic.h> definitions for us to annotate and build on. */
-#include_next <rte_atomic.h>
diff --git a/include/sparse/rte_mbuf.h b/include/sparse/rte_mbuf.h
deleted file mode 100644
index 981cdb441f..0000000000
--- a/include/sparse/rte_mbuf.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (c) 2020 Intel, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CHECKER__
-#error "Use this header only with sparse.  It is not a correct implementation."
-#endif
-
-/* sparse doesn't know about gcc atomic builtins. */
-#ifndef __ATOMIC_ACQ_REL
-#define __ATOMIC_ACQ_REL 0
-#define __ATOMIC_RELAXED 1
-#define __atomic_add_fetch(p, val, memorder) (*(p) = *(p) + (val))
-#define __atomic_store_n(p, val, memorder) (*(p) = (val))
-#endif
-
-/* Get actual <rte_mbuf.h> definitions for us to annotate and build on. */
-#include_next <rte_mbuf.h>
diff --git a/include/sparse/rte_trace_point.h b/include/sparse/rte_trace_point.h
deleted file mode 100644
index 8039232754..0000000000
--- a/include/sparse/rte_trace_point.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright 2020, Red Hat, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CHECKER__
-#error "Use this header only with sparse.  It is not a correct implementation."
-#endif
-
-/* sparse doesn't know about gcc atomic builtins. */
-#ifndef __ATOMIC_ACQUIRE
-#define __ATOMIC_ACQUIRE 0
-#define __atomic_load_n(p, memorder) *(p)
-#endif
-
-/* Get actual <rte_trace_point.h> definitions for us to annotate and
- * build on. */
-#include_next <rte_trace_point.h>
-- 
2.48.1

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to