[committed] libstdc++: Define _GNU_SOURCE for secure_getenv on Cygwin [PR107511]

Jonathan Wakely jwakely@redhat.com
Fri Nov 4 14:06:12 GMT 2022


Tested powerpc64le-linux. Pushed to trunk.

-- >8 --

As in r12-6867-ge20486d508afdf we need to define _GNU_SOURCE explicitly
for Cygwin, because configure finds it in libc but it isn't declared
unless we request it.

libstdc++-v3/ChangeLog:

	PR libstdc++/107511
	* libsupc++/eh_alloc.cc (_GNU_SOURCE): Define.
---
 libstdc++-v3/libsupc++/eh_alloc.cc | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libstdc++-v3/libsupc++/eh_alloc.cc b/libstdc++-v3/libsupc++/eh_alloc.cc
index e93f14c887b..83d15f39ca4 100644
--- a/libstdc++-v3/libsupc++/eh_alloc.cc
+++ b/libstdc++-v3/libsupc++/eh_alloc.cc
@@ -25,6 +25,11 @@
 // This is derived from the C++ ABI for IA-64.  Where we diverge
 // for cross-architecture compatibility are noted with "@@@".
 
+#ifndef _GNU_SOURCE
+// Cygwin needs this for secure_getenv
+# define _GNU_SOURCE 1
+#endif
+
 #include <exception>           // std::exception
 #include <new>                 // std::terminate
 #include <cstdlib>             // std::malloc, std::free, std::strtoul
-- 
2.38.1



More information about the Libstdc++ mailing list