eal: fix C++ include for device event and DMA
authorTianhao Chai <cth451@gmail.com>
Thu, 5 May 2022 04:39:35 +0000 (23:39 -0500)
committerDavid Marchand <david.marchand@redhat.com>
Thu, 5 May 2022 09:48:33 +0000 (11:48 +0200)
Currently the "extern C" section ends right before rte_dev_dma_unmap
and other DMA function declarations, causing some C++ compilers to
produce C++ mangled symbols to rte_dev_dma_unmap instead of C symbols.
This leads to build failures later when linking a final executable
against this object.

Fixes: a753e53d517b ("eal: add device event monitor framework")
Cc: stable@dpdk.org
Signed-off-by: Tianhao Chai <cth451@gmail.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
lib/eal/include/rte_dev.h

index 448a41c..e6ff121 100644 (file)
@@ -320,10 +320,6 @@ rte_dev_iterator_next(struct rte_dev_iterator *it);
             dev != NULL; \
             dev = rte_dev_iterator_next(it))
 
-#ifdef __cplusplus
-}
-#endif
-
 /**
  * @warning
  * @b EXPERIMENTAL: this API may change without prior notice
@@ -496,4 +492,8 @@ int
 rte_dev_dma_unmap(struct rte_device *dev, void *addr, uint64_t iova,
                  size_t len);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* _RTE_DEV_H_ */