DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH 0/3] RFC fix import/export MSVC data variables
@ 2024-03-12  7:51 Tyler Retzlaff
  2024-03-12  7:51 ` [PATCH 1/3] buildtools: ignore exports for MSVC Tyler Retzlaff
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Tyler Retzlaff @ 2024-03-12  7:51 UTC (permalink / raw)
  To: dev
  Cc: Dmitry Kozlyuk, Thomas Monjalon, Bruce Richardson,
	David Marchand, Tyler Retzlaff

MSVC requires that data variables within DPDK to be explicitly exported
and when consumed by applications be explicitly imported. Further, MSVC
and the Microsoft Linker need additional information when exporting
data variables that are thread local storage that cannot be conveyed
through the version.map -> exports.def generation. The generation
script has been updated to allow data exports to be excluded during
a build with MSVC where the intent is to export them via the macros.

This RFC series proposes per-library macro that can be used to mark the
data variables for export so that when processed appropriate declaration
of import or export is achieved either within the dpdk build or by a
consuming application.

I have only supplied an example series that uses the macro on a handful
of variables to demonstrate their use, after feedback on the RFC all
libs will have whatever method is arrived at applied to exported data
variables.

Thanks!

Tyler Retzlaff (3):
  buildtools: ignore exports for MSVC
  eal: import and export data variables for MSVC
  ethdev: import and export data variables for MSVC

 buildtools/map_to_win.py         | 13 +++++++++----
 lib/eal/include/meson.build      |  1 +
 lib/eal/include/rte_common.h     |  8 ++++++++
 lib/eal/include/rte_eal.h        |  2 ++
 lib/eal/include/rte_eal_export.h | 23 +++++++++++++++++++++++
 lib/eal/include/rte_errno.h      |  2 ++
 lib/eal/version.map              |  6 +++---
 lib/ethdev/meson.build           |  1 +
 lib/ethdev/rte_ethdev_core.h     |  3 +++
 lib/ethdev/rte_ethdev_export.h   | 23 +++++++++++++++++++++++
 lib/ethdev/version.map           |  2 +-
 lib/meson.build                  |  6 ++++--
 12 files changed, 80 insertions(+), 10 deletions(-)
 create mode 100644 lib/eal/include/rte_eal_export.h
 create mode 100644 lib/ethdev/rte_ethdev_export.h

-- 
1.8.3.1


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

end of thread, other threads:[~2024-10-07 17:05 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-12  7:51 [PATCH 0/3] RFC fix import/export MSVC data variables Tyler Retzlaff
2024-03-12  7:51 ` [PATCH 1/3] buildtools: ignore exports for MSVC Tyler Retzlaff
2024-03-12  7:51 ` [PATCH 2/3] eal: import and export data variables " Tyler Retzlaff
2024-03-12  7:51 ` [PATCH 3/3] ethdev: " Tyler Retzlaff
2024-10-07 17:05   ` Stephen Hemminger

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).