https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=b43e28aef0764be86bed5f48c734361957f2cbb1
commit b43e28aef0764be86bed5f48c734361957f2cbb1 Author: Daniel Santos <[email protected]> Date: Wed Apr 19 11:06:02 2017 -0500 strace: Fix "over-optimization" flaw in strace. Recent versions of gcc are optimizing away the TLS buffer allocated in main, so we need to tell gcc that it's really used. RtlSecureZeroMemory accomplishes this while also inlining the memset. Signed-off-by: Daniel Santos <[email protected]> Diff: --- winsup/utils/strace.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/winsup/utils/strace.cc b/winsup/utils/strace.cc index beab67b..ae62cdc 100644 --- a/winsup/utils/strace.cc +++ b/winsup/utils/strace.cc @@ -1191,7 +1191,7 @@ main (int argc, char **argv) registry setting to 0x100000 (TOP_DOWN). */ char buf[CYGTLS_PADSIZE]; - memset (buf, 0, sizeof (buf)); + RtlSecureZeroMemory (buf, sizeof (buf)); exit (main2 (argc, argv)); }
