DPDK patches and discussions
 help / color / mirror / Atom feed
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
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.

  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

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git