From: Ranjit Menon <ranjit.menon@intel.com>
To: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>,
Pallavi Kadam <pallavi.kadam@intel.com>
Cc: dev@dpdk.org, thomas@monjalon.net
Subject: Re: [dpdk-dev] [PATCH] eal: fix warnings on Windows
Date: Wed, 13 May 2020 18:24:18 -0700 [thread overview]
Message-ID: <ddf468be-8bca-8061-1280-2f068014a3cd@intel.com> (raw)
In-Reply-To: <20200514034336.77a02b8b@sovereign>
On 5/13/2020 5:43 PM, Dmitry Kozlyuk wrote:
> On Wed, 13 May 2020 15:53:41 -0700 Pallavi Kadam wrote:
>> This patch fixes bunch of warnings when compiling on Windows
>> such as the use of an unsafe string function (strerror),
>> [-Wunused-const-variable] in getopt.c and
>> [-Wunused-variable], [-Wunused-function] in eal_common_options.c
>>
>> Signed-off-by: Ranjit Menon <ranjit.menon@intel.com>
>> Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>
>> Tested-by: Pallavi Kadam <pallavi.kadam@intel.com>
>> ---
>> lib/librte_eal/common/eal_common_options.c | 6 +++++-
>> lib/librte_eal/windows/getopt.c | 4 ++--
>> 2 files changed, 7 insertions(+), 3 deletions(-)
>>
>> diff --git a/lib/librte_eal/common/eal_common_options.c
>> b/lib/librte_eal/common/eal_common_options.c index
>> 8f2cbd1c6..2efbf59e4 100644 ---
>> a/lib/librte_eal/common/eal_common_options.c +++
>> b/lib/librte_eal/common/eal_common_options.c @@ -115,8 +115,10 @@
>> struct shared_driver { static struct shared_driver_list solib_list =
>> TAILQ_HEAD_INITIALIZER(solib_list);
>>
>> +#ifndef RTE_EXEC_ENV_WINDOWS
>> /* Default path of external loadable drivers */
>> static const char *default_solib_dir = RTE_EAL_PMD_PATH;
>> +#endif
>>
>> /*
>> * Stringified version of solib path used by dpdk-pmdinfo.py
>> @@ -329,6 +331,7 @@ eal_plugin_add(const char *path)
>> return 0;
>> }
>>
>> +#ifndef RTE_EXEC_ENV_WINDOWS
>> static int
>> eal_plugindir_init(const char *path)
>> {
>> @@ -362,6 +365,7 @@ eal_plugindir_init(const char *path)
>> /* XXX this ignores failures from readdir() itself */
>> return (dent == NULL) ? 0 : -1;
>> }
>> +#endif
>
> This causes different warnings:
>
> In file included from ../../../lib/librte_eal/common/eal_common_options.c:21:
> At top level:
> ../../../lib/librte_eal/windows/include/dirent.h:529:1: warning: 'closedir' defined but not used [-Wunused-function]
> 529 | closedir(DIR *dirp)
> | ^~~~~~~~
> ../../../lib/librte_eal/windows/include/dirent.h:447:1: warning: 'readdir' defined but not used [-Wunused-function]
> 447 | readdir(DIR *dirp)
> | ^~~~~~~
> ../../../lib/librte_eal/windows/include/dirent.h:377:1: warning: 'opendir' defined but not used [-Wunused-function]
> 377 | opendir(const char *dirname)
> | ^~~~~~~
>
> Suggesting not to include <dirent.h> to this file on Windows (this
> makes dirent.h unused in EAL, but other code will require it later).
>
Yes. We saw this too and realized that if we put a #ifndef
RTE_EXEC_ENV_WINDOWS around the #include of dirent.h, it would render
the file as being unused. But, I think it makes sense to do it - better
than having these warnings.
>>
>> int
>> eal_plugins_init(void)
>> @@ -394,8 +398,8 @@ eal_plugins_init(void)
>> }
>>
>> }
>> - return 0;
>> #endif
>> + return 0;
>> }
>>
>> /*
>> diff --git a/lib/librte_eal/windows/getopt.c
>> b/lib/librte_eal/windows/getopt.c index 170c9b5e0..a08f7c109 100644
>> --- a/lib/librte_eal/windows/getopt.c
>> +++ b/lib/librte_eal/windows/getopt.c
>> @@ -25,8 +25,8 @@ int opterr = 1; /* if error
>> message should be printed */ int optind = 1; /*
>> index into parent argv vector */ int optopt = '?';
>> /* character checked for validity */
>> -static void pass(void) {}
>> -#define warnx(a, ...) pass()
>> +static void pass(const char *a) {(void) a; }
>> +#define warnx(a, ...) pass(a)
>>
>> #define PRINT_ERROR ((opterr) && (*options != ':'))
>>
>
> Testing with MinGW-w64 (Ubuntu 19.10, package 6.0.0-3, GCC 9.2.1)
> reveals additional warnings. Never mind fixing them in a separate patch
> to avoid blocking this one. For the record:
>
> ../../../lib/librte_eal/common/eal_common_thread.c:180:25: warning: unused parameter 'attr' [-Wunused-parameter]
>
> ../../../lib/librte_eal/windows/eal_lcore.c:30:1: warning: old-style function definition [-Wold-style-definition]
> 30 | eal_create_cpu_map()
>
> ../../../lib/librte_eal/windows/eal_thread.c:149:29: warning: cast between incompatible function types from '__attribute__((noreturn)) void * (*)(void *)' to 'DWORD (*)(void *)' {aka 'long unsigned int (*)(void * '} [-Wcast-function-type]
> 149 | th = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)eal_thread_loop,
>
> ../../../lib/librte_eal/windows/eal.c:144:1: warning: 'optnone' attribute directive ignored [-Wattributes]
>
> ../../../lib/librte_eal/common/eal_common_options.c: In function 'eal_adjust_config':
> ../../../lib/librte_eal/windows/include/sched.h:63:55: warning: 'default_set._bits[1]' may be used uninitialized in this function [-Wmaybe-uninitialized]
> 63 | (dst)->_bits[_i] = (src1)->_bits[_i] & (src2)->_bits[_i]; \
>
> --
> Dmitry Kozlyuk
>
Yes, we can address this in a separate patch.
ranjit m.
next prev parent reply other threads:[~2020-05-14 1:24 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-13 22:53 Pallavi Kadam
2020-05-14 0:43 ` Dmitry Kozlyuk
2020-05-14 1:24 ` Ranjit Menon [this message]
2020-05-14 8:02 ` Thomas Monjalon
2020-05-14 17:46 ` Ranjit Menon
2020-05-14 20:39 ` [dpdk-dev] [PATCH v2] " Pallavi Kadam
2020-05-15 19:20 ` Dmitry Kozlyuk
2020-05-18 22:08 ` Narcisa Ana Maria Vasile
2020-05-28 23:14 ` [dpdk-dev] [PATCH v3 0/2] Fix Windows compiler warnings Pallavi Kadam
2020-05-28 23:14 ` [dpdk-dev] [PATCH v3 1/2] eal: fix warnings on Windows Pallavi Kadam
2020-06-11 16:14 ` Thomas Monjalon
2020-06-11 18:55 ` Kadam, Pallavi
2020-05-28 23:14 ` [dpdk-dev] [PATCH v3 2/2] build: treat warning as an error " Pallavi Kadam
2020-06-11 16:12 ` Thomas Monjalon
2020-06-11 18:54 ` Kadam, Pallavi
2020-06-11 19:50 ` [dpdk-dev] [PATCH v4] eal: fix warnings " Pallavi Kadam
2020-06-11 20:18 ` Narcisa Ana Maria Vasile
2020-06-15 9:37 ` Thomas Monjalon
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=ddf468be-8bca-8061-1280-2f068014a3cd@intel.com \
--to=ranjit.menon@intel.com \
--cc=dev@dpdk.org \
--cc=dmitry.kozliuk@gmail.com \
--cc=pallavi.kadam@intel.com \
--cc=thomas@monjalon.net \
/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).