[dpdk-dev] [PATCH 0/7] eal/windows: do not expose POSIX symbols

Ranjit Menon ranjit.menon at intel.com
Wed Mar 17 20:19:31 CET 2021


On 2/20/2021 3:29 PM, Dmitry Kozlyuk wrote:
> On Windows, rte_os.h contains a small POSIX compatibility set of
> functions and macros. Exposing it from EAL can break consumer own POSIX
> compatibility layer and is against standards in general.
>
> First define required wrappers, then fix POSIX dependencies in
> Windows-enabled libraries and drivers, then eliminate POSIX symbols from
> Windows EAL API. Commits are arranged so that they all compile and are
> limited in scope; patches 5, 6, 7 can be squashed if needed.
>
> No "Fixes" tags, because it's really an enhancement,
> preventing issues rather then solving direct ones.
>
> Dmitry Kozlyuk (7):
>    eal: add wrappers for POSIX string functions
>    eal: add macro for maximum path length
>    eal: add sleep API
>    eal: add asprintf() internal wrapper
>    lib: remove POSIX dependencies
>    drivers: remove POSIX dependencies
>    eal/windows: do not expose POSIX symbols
>
>   doc/guides/rel_notes/release_21_05.rst        |  9 ++
>   drivers/bus/pci/private.h                     |  2 +-
>   drivers/bus/vdev/vdev.c                       |  4 +-
>   drivers/bus/vdev/vdev_params.c                |  3 +-
>   drivers/common/mlx5/mlx5_common_pci.c         |  4 +-
>   drivers/net/i40e/i40e_ethdev.c                | 56 +++++------
>   lib/librte_cmdline/cmdline.c                  |  1 +
>   lib/librte_eal/common/eal_common_config.c     |  2 +-
>   lib/librte_eal/common/eal_common_dev.c        |  6 +-
>   lib/librte_eal/common/eal_common_devargs.c    |  7 +-
>   lib/librte_eal/common/eal_common_errno.c      |  4 +
>   lib/librte_eal/common/eal_common_fbarray.c    |  8 +-
>   lib/librte_eal/common/eal_common_lcore.c      |  2 +-
>   lib/librte_eal/common/eal_common_log.c        |  5 +-
>   lib/librte_eal/common/eal_common_options.c    | 42 ++++----
>   lib/librte_eal/common/eal_common_timer.c      |  5 +-
>   lib/librte_eal/common/eal_common_trace.c      |  2 +-
>   lib/librte_eal/common/eal_common_trace_ctf.c  |  4 +-
>   .../common/eal_common_trace_utils.c           | 13 +--
>   lib/librte_eal/common/eal_filesystem.h        |  8 +-
>   lib/librte_eal/common/eal_hugepages.h         |  2 +-
>   lib/librte_eal/common/eal_internal_cfg.h      |  2 +-
>   lib/librte_eal/common/eal_private.h           | 23 +++++
>   lib/librte_eal/common/eal_trace.h             |  2 +-
>   lib/librte_eal/freebsd/include/rte_os.h       |  6 +-
>   lib/librte_eal/include/rte_string_fns.h       | 42 ++++++++
>   lib/librte_eal/include/rte_thread.h           | 11 +++
>   lib/librte_eal/linux/include/rte_os.h         |  6 +-
>   lib/librte_eal/rte_eal_exports.def            |  2 +
>   lib/librte_eal/unix/rte_thread.c              |  6 ++
>   lib/librte_eal/version.map                    |  3 +
>   lib/librte_eal/windows/eal.c                  | 30 ++++++
>   lib/librte_eal/windows/eal_thread.c           |  9 +-
>   lib/librte_eal/windows/include/dirent.h       | 21 ++--
>   lib/librte_eal/windows/include/rte_os.h       | 99 ++-----------------
>   lib/librte_ethdev/rte_class_eth.c             |  2 +-
>   lib/librte_ethdev/rte_ethdev.c                |  2 +-
>   lib/librte_kvargs/rte_kvargs.c                | 17 ++--
>   38 files changed, 266 insertions(+), 206 deletions(-)
>
Acked-by: Ranjit Menon <ranjit.menon at intel.com>




More information about the dev mailing list