Hello,
Thank you very much for your interest to my patch.
I'm using the MinGW/MSYS installer from the official SourceForge page:
https://sourceforge.net/projects/mingw/
Please note, I'm using the original MinGW/MSYS environment, not the
newer MinGW-w64/MSYS2 environment which is a completely new project,
with no links from the original one.
The problem for me with MinGW-w64/MSYS2 is they dropped Windows XP
support (and I understand that) but for my purpose I need XP support,
as I targetting an old exotic platform (Sega Dreamcast if you're
wondering), so I'm targetting GDB with sh-elf (fyi it's a Hitachi SH-4
CPU).
I did a new try on a completely fresh MinGW/MSYS installation just to
be sure:
1- Download "mingw-get-setup.exe" from
https://sourceforge.net/projects/mingw/ - it shows
v0.6.2-beta-20131004-1 (It's just the MinGW Installation Manager Setup
Tool version).
2- Click Install.
3- Install packages : mingw32-base, mingw32-gcc-g++, msys-base. GCC is
6.3.0-1.
4- Open MSYS Shell.
5- Unpack gdb-7.12.1 in the home directory or somewhere else.
6- Then execute the following command to launch the GDB build:
"configure --disable-werror --prefix=/opt/toolchains/dc/sh-elf
--target=sh-elf", followed by "make".
If you not apply my patch, then you'll get the following error near
the build end:
ser-mingw.c: In function 'int ser_windows_read_prim(serial*, size_t)':
ser-mingw.c:346:30: error: 'ERROR_IO_PENDING' was not declared in this
scope
if (GetLastError () != ERROR_IO_PENDING
^~~~~~~~~~~~~~~~
ser-mingw.c: In function 'int ser_windows_write_prim(serial*, const
void*, size_t)':
ser-mingw.c:368:30: error: 'ERROR_IO_PENDING' was not declared in this
scope
if (GetLastError () != ERROR_IO_PENDING
^~~~~~~~~~~~~~~~
make[2]: *** [ser-mingw.o] Error 1
I tried the latest 8.0 build but it doesn't compile too.
Anyway I'm sticking to the 7.x branch as the GDB 7.x is confirmed to
work with the Sega Dreamcast platform.
And I know, the MinGW/MSYS original project is maintained but almost
deprecated in favour of MinGW-w64/MSYS2 project. But I really need XP
support for my needs.
I proposed this patch because it's really simple and not intrusive,
but you're right, how many people uses that old MinGW/MSYS project?
Thank you for reading me in all the cases!
BR,
SiZiOUS
Le 28/08/2018 à 19:22, Eli Zaretskii a écrit :
From: Pedro Alves <palves@redhat.com>
Date: Tue, 28 Aug 2018 17:57:43 +0100
On 08/28/2018 01:01 PM, SiZiOUS wrote:
This little patch was made to allow the compilation under the
MinGW/MSYS legacy environment (I don't know for the newer
MinGW-w64/MSYS2 environment!).
If this patch is not applied, then the compilation of gdb-7.12.1
under MinGW/MSYS is impossible.
GDB 7.12 is old by now and not actively maintained.
Can you check whether this is necessary on the master branch?
AFAICS, we include winerror.h via serial.h, which includes winsock2.h,
which includes winerror.h. Older MinGW included that via the chain
windows.h->windef.h->winnt.h.
SiZiOUS, what version of the MinGW runtime are you using?