[v2,1/1] mbuf: fix rte_mbuf_dyn.h inclusion from C++
Checks
Commit Message
The header was missing the extern "C" directive which causes name
mangling of functions by C++ compilers, leading to linker errors
complaining of undefined references to these functions.
Fixes: 4958ca3a443a ("mbuf: support dynamic fields and flags")
Cc: olivier.matz@6wind.com
Cc: stable@dpdk.org
Change-Id: I9a92ada0278ff8455cc2718f8231597b0a7c6b48
Signed-off-by: Ashish Sadanandan <ashish.sadanandan@gmail.com>
---
v2:
* No functional change
* Add fixes tag with reference to commit that introduced the header
* CC stable@dpdk.org
lib/librte_mbuf/rte_mbuf_dyn.h | 9 +++++++++
1 file changed, 9 insertions(+)
Comments
On Wed, Jan 06, 2021 at 06:31:14PM -0700, Ashish Sadanandan wrote:
> The header was missing the extern "C" directive which causes name
> mangling of functions by C++ compilers, leading to linker errors
> complaining of undefined references to these functions.
>
> Fixes: 4958ca3a443a ("mbuf: support dynamic fields and flags")
> Cc: olivier.matz@6wind.com
> Cc: stable@dpdk.org
>
> Change-Id: I9a92ada0278ff8455cc2718f8231597b0a7c6b48
I think this line can be dropped (it comes from gerrit).
David, can you do it when pushing the patch?
> Signed-off-by: Ashish Sadanandan <ashish.sadanandan@gmail.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Thanks!
On Thu, Jan 7, 2021 at 8:49 AM Olivier Matz <olivier.matz@6wind.com> wrote:
>
> On Wed, Jan 06, 2021 at 06:31:14PM -0700, Ashish Sadanandan wrote:
> > The header was missing the extern "C" directive which causes name
> > mangling of functions by C++ compilers, leading to linker errors
> > complaining of undefined references to these functions.
> >
> > Fixes: 4958ca3a443a ("mbuf: support dynamic fields and flags")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Ashish Sadanandan <ashish.sadanandan@gmail.com>
> Acked-by: Olivier Matz <olivier.matz@6wind.com>
Applied, thanks.
@@ -67,6 +67,11 @@
*/
#include <sys/types.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Maximum length of the dynamic field or flag string.
*/
@@ -326,4 +331,8 @@ int rte_mbuf_dyn_rx_timestamp_register(int *field_offset, uint64_t *rx_flag);
__rte_experimental
int rte_mbuf_dyn_tx_timestamp_register(int *field_offset, uint64_t *tx_flag);
+#ifdef __cplusplus
+}
#endif
+
+#endif /* _RTE_MBUF_DYN_H_ */