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(+) diff --git a/lib/librte_mbuf/rte_mbuf_dyn.h b/lib/librte_mbuf/rte_mbuf_dyn.h index d88e7ba..fc4eee7 100644 --- a/lib/librte_mbuf/rte_mbuf_dyn.h +++ b/lib/librte_mbuf/rte_mbuf_dyn.h @@ -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_ */ -- 2.9.3
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 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(+) diff --git a/lib/librte_mbuf/rte_mbuf_dyn.h b/lib/librte_mbuf/rte_mbuf_dyn.h index d88e7ba..fc4eee7 100644 --- a/lib/librte_mbuf/rte_mbuf_dyn.h +++ b/lib/librte_mbuf/rte_mbuf_dyn.h @@ -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_ */ -- 2.9.3
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 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(+) diff --git a/lib/librte_mbuf/rte_mbuf_dyn.h b/lib/librte_mbuf/rte_mbuf_dyn.h index d88e7ba..fc4eee7 100644 --- a/lib/librte_mbuf/rte_mbuf_dyn.h +++ b/lib/librte_mbuf/rte_mbuf_dyn.h @@ -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_ */ -- 2.9.3
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!
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 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(+) diff --git a/lib/librte_mbuf/rte_mbuf_dyn.h b/lib/librte_mbuf/rte_mbuf_dyn.h index d88e7ba..fc4eee7 100644 --- a/lib/librte_mbuf/rte_mbuf_dyn.h +++ b/lib/librte_mbuf/rte_mbuf_dyn.h @@ -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_ */ -- 2.9.3
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.
--
David Marchand