[v2,1/1] mbuf: fix rte_mbuf_dyn.h inclusion from C++

Message ID 20210107013114.3477-1-ashish.sadanandan@gmail.com (mailing list archive)
State Accepted, archived
Delegated to: David Marchand
Headers
Series [v2,1/1] mbuf: fix rte_mbuf_dyn.h inclusion from C++ |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/iol-broadcom-Functional success Functional Testing PASS
ci/Intel-compilation success Compilation OK
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-mellanox-Functional success Functional Testing PASS
ci/iol-testing fail Testing issues
ci/iol-mellanox-Performance success Performance Testing PASS

Commit Message

Ashish Sadanandan Jan. 7, 2021, 1:31 a.m. UTC
  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

Olivier Matz Jan. 7, 2021, 7:49 a.m. UTC | #1
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!
  
David Marchand Jan. 11, 2021, 2:41 p.m. UTC | #2
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.
  

Patch

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_ */