Fix MinGW build using mingw.org's MinGW
authorEli Zaretskii <eliz@gnu.org>
Thu, 22 Dec 2022 10:42:24 +0000 (12:42 +0200)
committerEli Zaretskii <eliz@gnu.org>
Fri, 23 Dec 2022 11:21:03 +0000 (13:21 +0200)
This allows to build GDB even though the default value of
_WIN32_WINNT is lower than the one needed to expose some
new APIs used here, and leave the test for their actual
support to run time.
* gdb/nat/windows-nat.c (EXTENDED_STARTUPINFO_PRESENT): Define if
not defined.
(create_process_wrapper): Use 'gdb_lpproc_thread_attribute_list'
instead of 'PPROC_THREAD_ATTRIBUTE_LIST' (which might not be defined
at compile time).  This fixes compilation error using mingw.org's
MinGW.

gdb/nat/windows-nat.c

index 42031d4757c535f6fec2e6a089906552df95c3c3..0617cfef414b4cd224f42c5cf128b78217a80fb3 100644 (file)
@@ -800,6 +800,10 @@ create_process_wrapper (FUNC *do_create_process, const CHAR *image,
            gdb_lpproc_thread_attribute_list lpAttributeList;
          };
 
+#        ifndef EXTENDED_STARTUPINFO_PRESENT
+#         define EXTENDED_STARTUPINFO_PRESENT 0x00080000
+#        endif
+
          gdb_extended_info info_ex {};
 
          if (startup_info != nullptr)
@@ -810,7 +814,7 @@ create_process_wrapper (FUNC *do_create_process, const CHAR *image,
             call always fails, by design.  */
          InitializeProcThreadAttributeList (nullptr, 1, 0, &size);
          info_ex.lpAttributeList
-           = (PPROC_THREAD_ATTRIBUTE_LIST) alloca (size);
+           = (gdb_lpproc_thread_attribute_list) alloca (size);
          InitializeProcThreadAttributeList (info_ex.lpAttributeList,
                                             1, 0, &size);