[v2] windows: build warnings with clang

Message ID 20201129160024.879-1-nick.connolly@mayadata.io (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series [v2] windows: build warnings with clang |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/Intel-compilation success Compilation OK
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-testing success Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/travis-robot success Travis build: passed

Commit Message

Nick Connolly Nov. 29, 2020, 4 p.m. UTC
  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.

Signed-off-by: Nick Connolly <nick.connolly@mayadata.io>
---
v2:
* Adjust commit wording as per Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>

Note: It is unclear exactly which commit this fixes.  It is probably a
consequence of building more libraries for Windows.

 config/meson.build | 5 +++++
 1 file changed, 5 insertions(+)
  

Comments

Dmitry Kozlyuk Dec. 3, 2020, 12:02 a.m. UTC | #1
On Sun, 29 Nov 2020 16:00:24 +0000, Nick Connolly wrote:
> 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.
> 
> Signed-off-by: Nick Connolly <nick.connolly@mayadata.io>
> ---
> v2:
> * Adjust commit wording as per Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> 
> Note: It is unclear exactly which commit this fixes.  It is probably a
> consequence of building more libraries for Windows.

Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
  
Kadam, Pallavi Dec. 5, 2020, 12:46 a.m. UTC | #2
Hi Nick,

Thanks for this patch. Could not see the deprecated warnings anymore.

On 11/29/2020 8:00 AM, Nick Connolly wrote:
> 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.
>
> Signed-off-by: Nick Connolly <nick.connolly@mayadata.io>
> ---
Acked-by: Pallavi Kadam <pallavi.kadam@intel.com>
  
Thomas Monjalon Dec. 7, 2020, 8:34 p.m. UTC | #3
03/12/2020 01:02, Dmitry Kozlyuk:
> On Sun, 29 Nov 2020 16:00:24 +0000, Nick Connolly wrote:
> > 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.
> > 
> > Signed-off-by: Nick Connolly <nick.connolly@mayadata.io>
> > ---
> > v2:
> > * Adjust commit wording as per Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> > 
> > Note: It is unclear exactly which commit this fixes.  It is probably a
> > consequence of building more libraries for Windows.
> 
> Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>

Applied, thanks
  
Nick Connolly Dec. 9, 2020, 9:30 a.m. UTC | #4
Copying stable@dpdk.org - given that 20.11 has now been released I 
assume this needs to be applied there as well.

On 07/12/2020 20:34, Thomas Monjalon wrote:
> 03/12/2020 01:02, Dmitry Kozlyuk:
>> On Sun, 29 Nov 2020 16:00:24 +0000, Nick Connolly wrote:
>>> 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.
>>>
>>> Signed-off-by: Nick Connolly <nick.connolly@mayadata.io>
>>> ---
>>> v2:
>>> * Adjust commit wording as per Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
>>>
>>> Note: It is unclear exactly which commit this fixes.  It is probably a
>>> consequence of building more libraries for Windows.
>> Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> Applied, thanks
>
>
  
Xueming Li Dec. 12, 2021, 12:06 p.m. UTC | #5
On Wed, 2020-12-09 at 09:30 +0000, Nick Connolly wrote:
> Copying stable@dpdk.org - given that 20.11 has now been released I 
> assume this needs to be applied there as well.

This patch was ignored due to the backport scanning scripts check
commit message from upstream git repo, not mail thread. Remember to add
"Cc: stable@dpdk.org" in message body, or a "Fixes" tag.

Applied to 20.11.4 now.

> 
> On 07/12/2020 20:34, Thomas Monjalon wrote:
> > 03/12/2020 01:02, Dmitry Kozlyuk:
> > > On Sun, 29 Nov 2020 16:00:24 +0000, Nick Connolly wrote:
> > > > 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://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fcpp%2Fc-runtime-library%2Fsecurity-features-in-the-crt%3Fview%3Dmsvc-160&amp;data=04%7C01%7Cxuemingl%40nvidia.com%7C93c0adf5be2246c07dcf08d89c2532f5%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C637431030883808802%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=LJVdh0nUgUEXT9vukPmwPffPugpiDFhe7EWp2rU7DuQ%3D&amp;reserved=0
> > > > 
> > > > Disable this by defining -D_CRT_SECURE_NO_WARNINGS.
> > > > 
> > > > Signed-off-by: Nick Connolly <nick.connolly@mayadata.io>
> > > > ---
> > > > v2:
> > > > * Adjust commit wording as per Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> > > > 
> > > > Note: It is unclear exactly which commit this fixes.  It is probably a
> > > > consequence of building more libraries for Windows.
> > > Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> > Applied, thanks
> > 
> > 
>
  

Patch

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