From: Tal Shnaiderman <talshn@nvidia.com>
To: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>, "dev@dpdk.org" <dev@dpdk.org>
Cc: Tyler Retzlaff <roretzla@microsoft.com>,
Nick Connolly <nick.connolly@mayadata.io>,
Bruce Richardson <bruce.richardson@intel.com>,
Narcisa Ana Maria Vasile <navasile@linux.microsoft.com>,
Dmitry Malloy <dmitrym@microsoft.com>,
Pallavi Kadam <pallavi.kadam@intel.com>
Subject: Re: [dpdk-dev] [PATCH v2 7/7] eal/windows: do not expose POSIX symbols
Date: Sun, 21 Feb 2021 08:59:50 +0000 [thread overview]
Message-ID: <DM6PR12MB39454590AE3240C7FC056CBFA4829@DM6PR12MB3945.namprd12.prod.outlook.com> (raw)
In-Reply-To: <20210221012831.14643-8-dmitry.kozliuk@gmail.com>
> Subject: [dpdk-dev] [PATCH v2 7/7] eal/windows: do not expose POSIX
> symbols
>
> External email: Use caution opening links or attachments
>
>
> Exposing POSIX symbols could break consumer POSIX compatibility code.
>
> * Make renaming of close() and unlink() private to EAL.
>
> * Remove renaming of strncasecmp(), strtok_r(), and sleep()
> in favor of using EAL wrappers. Similarly remove PATH_MAX macro.
>
> * Replace index(3p), which is not available on Windows, with strchr(3),
> as recommended by POSIX.1-2008. strerror_r() is only used inside EAL,
> rename it only where it's needed. Same for asprintf(), it has an
> internal EAL wrapper and is removed from public API.
>
> Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> ---
[snip]
> diff --git a/lib/librte_eal/windows/include/rte_os.h
> b/lib/librte_eal/windows/include/rte_os.h
> index edca11bd2..9c9c31214 100644
> --- a/lib/librte_eal/windows/include/rte_os.h
> +++ b/lib/librte_eal/windows/include/rte_os.h
> @@ -6,15 +6,11 @@
> #define _RTE_OS_H_
>
> /**
> - * This is header should contain any function/macro definition
> - * which are not supported natively or named differently in the
> - * Windows OS. It must not include Windows-specific headers.
> + * This header should contain any function/macro definition
> + * which are not supported natively or named differently in Windows OS.
> */
>
> -#include <stdarg.h>
> -#include <stdio.h>
> #include <stdlib.h>
> -#include <string.h>
>
> #ifdef __cplusplus
> extern "C" {
> @@ -22,101 +18,18 @@ extern "C" {
>
> #define RTE_PATH_MAX _MAX_PATH
>
> -/* limits.h replacement, value as in <windows.h> */ -#ifndef PATH_MAX -
> #define PATH_MAX _MAX_PATH -#endif
> -
> -#ifndef sleep
> -#define sleep(x) Sleep(1000 * (x))
> -#endif
> -
> -#ifndef strerror_r
> -#define strerror_r(a, b, c) strerror_s(b, c, a) -#endif
> -
> -#ifndef strdup
> -/* strdup is deprecated in Microsoft libc and _strdup is preferred */ -
> #define strdup(str) _strdup(str) -#endif
> -
> -#ifndef strtok_r
> -#define strtok_r(str, delim, saveptr) strtok_s(str, delim, saveptr) -#endif
> -
> -#ifndef index
> -#define index(a, b) strchr(a, b)
> -#endif
> -
> -#ifndef rindex
> -#define rindex(a, b) strrchr(a, b)
> -#endif
> -
> -#ifndef strncasecmp
> -#define strncasecmp(s1, s2, count) _strnicmp(s1, s2, count)
> -#endif
> -
> -#ifndef close
> -#define close _close
> -#endif
mlx5 uses close() in mlx5.c and is broken after this change above, BTW why not add an rte_close instead of local definition?
> -
> -#ifndef unlink
> -#define unlink _unlink
> -#endif
> -
[snip]
next prev parent reply other threads:[~2021-02-21 9:00 UTC|newest]
Thread overview: 132+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-20 23:29 [dpdk-dev] [PATCH 0/7] " Dmitry Kozlyuk
2021-02-20 23:29 ` [dpdk-dev] [PATCH 1/7] eal: add wrappers for POSIX string functions Dmitry Kozlyuk
2021-02-20 23:29 ` [dpdk-dev] [PATCH 2/7] eal: add macro for maximum path length Dmitry Kozlyuk
2021-02-20 23:29 ` [dpdk-dev] [PATCH 3/7] eal: add sleep API Dmitry Kozlyuk
2021-02-20 23:29 ` [dpdk-dev] [PATCH 4/7] eal: add asprintf() internal wrapper Dmitry Kozlyuk
2021-02-20 23:29 ` [dpdk-dev] [PATCH 5/7] lib: remove POSIX dependencies Dmitry Kozlyuk
2021-02-20 23:29 ` [dpdk-dev] [PATCH 6/7] drivers: " Dmitry Kozlyuk
2021-02-20 23:29 ` [dpdk-dev] [PATCH 7/7] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-02-21 1:28 ` [dpdk-dev] [PATCH v2 0/7] " Dmitry Kozlyuk
2021-02-21 1:28 ` [dpdk-dev] [PATCH v2 1/7] eal: add wrappers for POSIX string functions Dmitry Kozlyuk
2021-02-22 11:47 ` Bruce Richardson
2021-02-22 12:48 ` Nick Connolly
2021-02-22 14:26 ` Bruce Richardson
2021-02-22 18:21 ` Nick Connolly
2021-02-22 22:57 ` Dmitry Kozlyuk
2021-02-23 9:45 ` Bruce Richardson
2021-02-27 20:23 ` Dmitry Kozlyuk
2021-03-01 21:31 ` Nick Connolly
2021-03-02 0:22 ` Dmitry Kozlyuk
2021-03-02 11:27 ` Nick Connolly
2021-03-16 9:51 ` Thomas Monjalon
2021-02-22 18:07 ` Tyler Retzlaff
2021-02-22 18:36 ` Nick Connolly
2021-02-21 1:28 ` [dpdk-dev] [PATCH v2 2/7] eal: add macro for maximum path length Dmitry Kozlyuk
2021-02-21 1:28 ` [dpdk-dev] [PATCH v2 3/7] eal: add sleep API Dmitry Kozlyuk
2021-02-21 8:58 ` Tal Shnaiderman
2021-02-21 1:28 ` [dpdk-dev] [PATCH v2 4/7] eal: add asprintf() internal wrapper Dmitry Kozlyuk
2021-02-21 1:28 ` [dpdk-dev] [PATCH v2 5/7] lib: remove POSIX dependencies Dmitry Kozlyuk
2021-02-21 1:28 ` [dpdk-dev] [PATCH v2 6/7] drivers: " Dmitry Kozlyuk
2021-02-21 8:59 ` Tal Shnaiderman
2021-02-21 15:54 ` Andrew Rybchenko
2021-02-21 17:05 ` Dmitry Kozlyuk
2021-02-21 1:28 ` [dpdk-dev] [PATCH v2 7/7] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-02-21 8:59 ` Tal Shnaiderman [this message]
2021-02-21 10:24 ` Dmitry Kozlyuk
2021-02-21 11:58 ` Tal Shnaiderman
2021-02-21 14:33 ` Dmitry Kozlyuk
2021-02-21 14:28 ` [dpdk-dev] [PATCH v3 0/7] " Dmitry Kozlyuk
2021-02-21 14:28 ` [dpdk-dev] [PATCH v3 1/7] eal: add wrappers for POSIX string functions Dmitry Kozlyuk
2021-02-23 7:11 ` Andrew Rybchenko
2021-02-23 21:53 ` Nick Connolly
2021-02-24 7:21 ` Andrew Rybchenko
2021-03-04 6:47 ` [dpdk-dev] [EXTERNAL] " Khoa To
2021-02-21 14:28 ` [dpdk-dev] [PATCH v3 2/7] eal: add macro for maximum path length Dmitry Kozlyuk
2021-03-04 6:47 ` [dpdk-dev] [EXTERNAL] " Khoa To
2021-02-21 14:28 ` [dpdk-dev] [PATCH v3 3/7] eal: add sleep API Dmitry Kozlyuk
2021-02-23 22:06 ` Nick Connolly
2021-03-04 6:47 ` [dpdk-dev] [EXTERNAL] " Khoa To
2021-02-21 14:28 ` [dpdk-dev] [PATCH v3 4/7] eal: add asprintf() internal wrapper Dmitry Kozlyuk
2021-03-04 6:48 ` [dpdk-dev] [EXTERNAL] " Khoa To
2021-02-21 14:28 ` [dpdk-dev] [PATCH v3 5/7] lib: remove POSIX dependencies Dmitry Kozlyuk
2021-03-04 6:48 ` [dpdk-dev] [EXTERNAL] " Khoa To
2021-02-21 14:28 ` [dpdk-dev] [PATCH v3 6/7] drivers: " Dmitry Kozlyuk
2021-03-04 6:49 ` [dpdk-dev] [EXTERNAL] " Khoa To
2021-02-21 14:28 ` [dpdk-dev] [PATCH v3 7/7] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-03-04 6:49 ` [dpdk-dev] [EXTERNAL] " Khoa To
2021-03-04 6:46 ` [dpdk-dev] [EXTERNAL] [PATCH v3 0/7] " Khoa To
2021-03-06 0:04 ` [dpdk-dev] [PATCH v4 0/4] " Dmitry Kozlyuk
2021-03-06 0:04 ` [dpdk-dev] [PATCH v4 1/4] eal: add sleep API Dmitry Kozlyuk
2021-03-06 0:04 ` [dpdk-dev] [PATCH v4 2/4] eal: add asprintf() internal wrapper Dmitry Kozlyuk
2021-03-06 15:27 ` Lance Richardson
2021-03-06 0:04 ` [dpdk-dev] [PATCH v4 3/4] build: indicate usage at build time for public headers Dmitry Kozlyuk
2021-03-16 9:59 ` Thomas Monjalon
2021-03-06 0:05 ` [dpdk-dev] [PATCH v4 4/4] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-03-17 19:23 ` [dpdk-dev] [PATCH v4 0/4] " Ranjit Menon
2021-03-20 11:27 ` [dpdk-dev] [PATCH v5 0/5] " Dmitry Kozlyuk
2021-03-20 11:27 ` [dpdk-dev] [PATCH v5 1/5] eal: add sleep API Dmitry Kozlyuk
2021-03-22 8:57 ` Kinsella, Ray
2021-03-20 11:27 ` [dpdk-dev] [PATCH v5 2/5] eal/windows: hide asprintf() shim Dmitry Kozlyuk
2021-03-20 11:27 ` [dpdk-dev] [PATCH v5 3/5] eal: make OS shims internal Dmitry Kozlyuk
2021-03-20 11:27 ` [dpdk-dev] [PATCH v5 4/5] net: provide IP-related API on any OS Dmitry Kozlyuk
2021-03-20 11:27 ` [dpdk-dev] [PATCH v5 5/5] net: replace Windows networking shim Dmitry Kozlyuk
2021-03-20 13:05 ` [dpdk-dev] [PATCH v6 0/5] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-03-20 13:05 ` [dpdk-dev] [PATCH v6 1/5] eal: add sleep API Dmitry Kozlyuk
2021-03-20 13:05 ` [dpdk-dev] [PATCH v6 2/5] eal/windows: hide asprintf() shim Dmitry Kozlyuk
2021-03-26 9:04 ` Thomas Monjalon
2021-03-20 13:05 ` [dpdk-dev] [PATCH v6 3/5] eal: make OS shims internal Dmitry Kozlyuk
2021-03-26 9:12 ` Thomas Monjalon
2021-03-31 21:05 ` Nick Connolly
2021-03-31 21:19 ` Thomas Monjalon
2021-03-31 21:45 ` Nick Connolly
2021-03-31 21:55 ` Thomas Monjalon
2021-04-01 23:10 ` Dmitry Kozlyuk
2021-04-01 23:18 ` Thomas Monjalon
2021-03-20 13:05 ` [dpdk-dev] [PATCH v6 4/5] net: provide IP-related API on any OS Dmitry Kozlyuk
2021-03-26 9:22 ` Thomas Monjalon
2021-03-20 13:05 ` [dpdk-dev] [PATCH v6 5/5] net: replace Windows networking shim Dmitry Kozlyuk
2021-03-26 9:28 ` Thomas Monjalon
2021-04-01 23:03 ` Dmitry Kozlyuk
2021-04-03 23:41 ` [dpdk-dev] [PATCH v7 0/5] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-04-03 23:41 ` [dpdk-dev] [PATCH v7 1/5] eal: add sleep API Dmitry Kozlyuk
2021-04-06 14:34 ` Morten Brørup
2021-04-06 23:29 ` Dmitry Kozlyuk
2021-04-07 7:31 ` Morten Brørup
2021-04-29 17:09 ` Tyler Retzlaff
2021-04-03 23:41 ` [dpdk-dev] [PATCH v7 2/5] eal/windows: hide asprintf() shim Dmitry Kozlyuk
2021-04-10 7:05 ` Nick Connolly
2021-04-03 23:41 ` [dpdk-dev] [PATCH v7 3/5] eal: make OS shims internal Dmitry Kozlyuk
2021-04-03 23:41 ` [dpdk-dev] [PATCH v7 4/5] net: work around s_addr macro on Windows Dmitry Kozlyuk
2021-04-03 23:41 ` [dpdk-dev] [PATCH v7 5/5] net: provide IP-related API on any OS Dmitry Kozlyuk
2021-04-07 22:22 ` [dpdk-dev] [PATCH v8 0/4] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-04-07 22:22 ` [dpdk-dev] [PATCH v8 1/4] eal/windows: hide asprintf() shim Dmitry Kozlyuk
2021-04-07 22:22 ` [dpdk-dev] [PATCH v8 2/4] eal: make OS shims internal Dmitry Kozlyuk
2021-04-07 22:22 ` [dpdk-dev] [PATCH v8 3/4] net: work around s_addr macro on Windows Dmitry Kozlyuk
2021-04-08 11:26 ` Olivier Matz
2021-04-07 22:22 ` [dpdk-dev] [PATCH v8 4/4] net: provide IP-related API on any OS Dmitry Kozlyuk
2021-04-08 11:45 ` Olivier Matz
2021-04-08 19:51 ` Dmitry Kozlyuk
2021-04-09 13:33 ` Olivier Matz
2021-04-14 21:47 ` Thomas Monjalon
2021-04-10 22:47 ` [dpdk-dev] [PATCH v9 0/4] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-04-10 22:47 ` [dpdk-dev] [PATCH v9 1/4] eal/windows: hide asprintf() shim Dmitry Kozlyuk
2021-04-10 22:47 ` [dpdk-dev] [PATCH v9 2/4] eal: make OS shims internal Dmitry Kozlyuk
2021-04-14 21:33 ` Thomas Monjalon
2021-04-10 22:47 ` [dpdk-dev] [PATCH v9 3/4] net: work around s_addr macro on Windows Dmitry Kozlyuk
2021-04-10 22:47 ` [dpdk-dev] [PATCH v9 4/4] net: provide IP-related API on any OS Dmitry Kozlyuk
2021-04-13 4:46 ` [dpdk-dev] [PATCH v9 0/4] eal/windows: do not expose POSIX symbols Ranjit Menon
2021-04-13 7:00 ` Dmitry Kozlyuk
2021-04-14 21:12 ` Thomas Monjalon
2021-04-14 21:34 ` Ranjit Menon
2021-04-14 21:42 ` Thomas Monjalon
2021-04-14 21:47 ` Ranjit Menon
2021-04-14 22:08 ` Dmitry Kozlyuk
2021-04-14 22:58 ` Thomas Monjalon
2021-04-14 22:06 ` [dpdk-dev] [PATCH v10 " Dmitry Kozlyuk
2021-04-14 22:06 ` [dpdk-dev] [PATCH v10 1/4] eal/windows: hide asprintf() shim Dmitry Kozlyuk
2021-04-14 22:06 ` [dpdk-dev] [PATCH v10 2/4] eal: make OS shims internal Dmitry Kozlyuk
2021-04-14 22:06 ` [dpdk-dev] [PATCH v10 3/4] net: work around s_addr macro on Windows Dmitry Kozlyuk
2021-04-14 22:06 ` [dpdk-dev] [PATCH v10 4/4] net: provide IP-related API on any OS Dmitry Kozlyuk
2021-04-14 22:50 ` [dpdk-dev] [PATCH v10 0/4] eal/windows: do not expose POSIX symbols Ranjit Menon
2021-04-14 23:57 ` Thomas Monjalon
2021-03-17 19:19 ` [dpdk-dev] [PATCH 0/7] " Ranjit Menon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DM6PR12MB39454590AE3240C7FC056CBFA4829@DM6PR12MB3945.namprd12.prod.outlook.com \
--to=talshn@nvidia.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=dmitry.kozliuk@gmail.com \
--cc=dmitrym@microsoft.com \
--cc=navasile@linux.microsoft.com \
--cc=nick.connolly@mayadata.io \
--cc=pallavi.kadam@intel.com \
--cc=roretzla@microsoft.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).