DPDK patches and discussions
 help / color / mirror / Atom feed
* Multi-versioning for backward compatibility
@ 2023-02-01 14:54 Arseniy Aharonov
  2023-02-01 15:33 ` Dmitry Kozlyuk
  0 siblings, 1 reply; 2+ messages in thread
From: Arseniy Aharonov @ 2023-02-01 14:54 UTC (permalink / raw)
  To: dev

[-- Attachment #1: Type: text/plain, Size: 717 bytes --]

Hi,

In the codebase of DPDK I saw that it uses the glibc approach<https://developers.redhat.com/blog/2019/08/01/how-the-gnu-c-library-handles-backward-compatibility> to mangle symbol names with a library version to maintain different implementations of the same function per version.
So that applications which were compiled with different versions of the library will link to a proper version of the function that corresponds to the right glibc (see doc<https://doc.dpdk.org/guides/contributing/abi_versioning.html>).
This method can't work in Windows with MSVC (at least to the best of my knowledge).

How does DPDK solve if in Windows for MSVC? I failed to find the answer.

Thank you,
Arseniy Aharonov

[-- Attachment #2: Type: text/html, Size: 2849 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Multi-versioning for backward compatibility
  2023-02-01 14:54 Multi-versioning for backward compatibility Arseniy Aharonov
@ 2023-02-01 15:33 ` Dmitry Kozlyuk
  0 siblings, 0 replies; 2+ messages in thread
From: Dmitry Kozlyuk @ 2023-02-01 15:33 UTC (permalink / raw)
  To: Arseniy Aharonov; +Cc: dev

2023-02-01 14:54 (UTC+0000), Arseniy Aharonov:
> This method can't work in Windows with MSVC (at least to the best of my knowledge).

In Windows generally, not limited to MSVC.
 
> How does DPDK solve if in Windows for MSVC? I failed to find the answer.

It just doesn't.

Fortunately, symbol versioning is not the approach used in DPDK by default.
For example, there are currently no versioned symbols AFAICT.
The preferred approach is:
1) to keep new functions experimental (there are precise rules for how long)
2) to consider possible future extensions when defining new APIs



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-02-01 15:33 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-01 14:54 Multi-versioning for backward compatibility Arseniy Aharonov
2023-02-01 15:33 ` Dmitry Kozlyuk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).