@@ -12,6 +12,7 @@ noinst_HEADERS += \
include/sparse/pthread.h \
include/sparse/rte_atomic.h \
include/sparse/rte_memcpy.h \
+ include/sparse/rte_trace_point_provider.h \
include/sparse/sys/socket.h \
include/sparse/sys/sysmacros.h \
include/sparse/sys/types.h \
new file mode 100644
@@ -0,0 +1,26 @@
+/* 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. */
+#define __ATOMIC_ACQUIRE 0
+#define __atomic_load_n(p, memorder) (*(p))
+
+/* Get actual <rte_trace_point_provider.h> definitions for us to annotate and
+ * build on. */
+#include_next <rte_trace_point_provider.h>
When building against 20.05-rc1 which introduced a tracing framework, mempool header now triggers an error with sparse. .../dpdk-dir/build/include/rte_mempool_trace_fp.h:96:1: error: undefined identifier '__atomic_load_n' .../dpdk-dir/build/include/rte_mempool_trace_fp.h:57:1: error: undefined identifier '__atomic_load_n' .../dpdk-dir/build/include/rte_mempool_trace_fp.h:47:1: error: undefined identifier '__atomic_load_n' .../dpdk-dir/build/include/rte_mempool_trace_fp.h:38:1: error: undefined identifier '__atomic_load_n' .../dpdk-dir/build/include/rte_mempool_trace_fp.h:38:1: error: not a function <noident> .../dpdk-dir/build/include/rte_mempool_trace_fp.h:38:1: error: undefined identifier '__ATOMIC_ACQUIRE' .../dpdk-dir/build/include/rte_mempool_trace_fp.h:96:1: error: not a function <noident> Wrap around the gcc atomic builtins used in one of the tracing framework helper. Signed-off-by: David Marchand <david.marchand@redhat.com> --- include/sparse/automake.mk | 1 + include/sparse/rte_trace_point_provider.h | 26 +++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 include/sparse/rte_trace_point_provider.h