DPDK patches and discussions
 help / color / mirror / Atom feed
From: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
To: Pallavi Kadam <pallavi.kadam@intel.com>
Cc: dev@dpdk.org, thomas@monjalon.net, ranjit.menon@intel.com
Subject: Re: [dpdk-dev] [PATCH] eal: fix warnings on Windows
Date: Thu, 14 May 2020 03:43:36 +0300
Message-ID: <20200514034336.77a02b8b@sovereign> (raw)
In-Reply-To: <20200513225341.7620-1-pallavi.kadam@intel.com>

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

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

  reply	other threads:[~2020-05-14  0:43 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 [this message]
2020-05-14  1:24   ` Ranjit Menon
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=20200514034336.77a02b8b@sovereign \
    --to=dmitry.kozliuk@gmail.com \
    --cc=dev@dpdk.org \
    --cc=pallavi.kadam@intel.com \
    --cc=ranjit.menon@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