[v2] windows: build warnings with clang
Checks
Commit Message
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
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>
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>
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
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
>
>
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&data=04%7C01%7Cxuemingl%40nvidia.com%7C93c0adf5be2246c07dcf08d89c2532f5%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C637431030883808802%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=LJVdh0nUgUEXT9vukPmwPffPugpiDFhe7EWp2rU7DuQ%3D&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
> >
> >
>
@@ -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