Message ID | 20201127113623.26707-1-nick.connolly@mayadata.io |
---|---|
State | Superseded |
Delegated to: | Thomas Monjalon |
Headers | show |
Series |
|
Related | show |
Context | Check | Description |
---|---|---|
ci/travis-robot | success | Travis build: passed |
ci/iol-mellanox-Performance | success | Performance Testing PASS |
ci/iol-intel-Performance | success | Performance Testing PASS |
ci/iol-intel-Functional | success | Functional Testing PASS |
ci/iol-testing | success | Testing PASS |
ci/Intel-compilation | success | Compilation OK |
ci/iol-broadcom-Functional | success | Functional Testing PASS |
ci/iol-broadcom-Performance | success | Performance Testing PASS |
ci/checkpatch | success | coding style OK |
On Fri, 27 Nov 2020 11:36:23 +0000, Nick Connolly wrote: > Compiling with Clang (11.0, --buildtype=debug) for Windows > produces deprecated warnings related to secure crt functions. Please explain what these warnings mean and why disabling them is OK. FWIW, I examined present warnings and found no useful ones. Also, --buildtype=debug is not necessary to trigger these warnings. Proposed wording (feel free to adjust): Microsoft CRT defines Windows-specific secure alternatives to standard library functions and triggers warnings when "insecure" functions are used [1]. However, calling code already has all necessary checks around those functions, so these warnings are not useful for DPDK. MinGW provides its own CRT without this issue. [1]: https://docs.microsoft.com/en-us/cpp/c-runtime-library/security-features-in-the-crt?view=msvc-160 > Disable this by defining -D_CRT_SECURE_NO_WARNINGS. > > It is unclear exactly which commit this fixes. It is probably a > consequence of building more libraries for Windows. Tip: Unless you want to make this paragraph part of the commit, you can write such notices below "---" line, like version info. > > Signed-off-by: Nick Connolly <nick.connolly@mayadata.io> > --- > config/meson.build | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/config/meson.build b/config/meson.build > index c02802c18..a3154e29c 100644 > --- a/config/meson.build > +++ b/config/meson.build > @@ -279,6 +279,11 @@ if is_windows > add_project_arguments('-D__USE_MINGW_ANSI_STDIO', language: 'c') > endif > > + # Disable secure CRT deprecated warnings for clang > + if cc.get_id() == 'clang' > + add_project_arguments('-D_CRT_SECURE_NO_WARNINGS', language: 'c') > + endif > + > add_project_link_arguments('-lws2_32', language: 'c') > > # Contrary to docs, VirtualAlloc2() is exported by mincore.lib
diff --git a/config/meson.build b/config/meson.build index c02802c18..a3154e29c 100644 --- a/config/meson.build +++ b/config/meson.build @@ -279,6 +279,11 @@ if is_windows add_project_arguments('-D__USE_MINGW_ANSI_STDIO', language: 'c') endif + # Disable secure CRT deprecated warnings for clang + if cc.get_id() == 'clang' + add_project_arguments('-D_CRT_SECURE_NO_WARNINGS', language: 'c') + endif + add_project_link_arguments('-lws2_32', language: 'c') # Contrary to docs, VirtualAlloc2() is exported by mincore.lib
Compiling with Clang (11.0, --buildtype=debug) for Windows produces deprecated warnings related to secure crt functions. Disable this by defining -D_CRT_SECURE_NO_WARNINGS. It is unclear exactly which commit this fixes. It is probably a consequence of building more libraries for Windows. Signed-off-by: Nick Connolly <nick.connolly@mayadata.io> --- config/meson.build | 5 +++++ 1 file changed, 5 insertions(+)