[PATCH][PR build/23568] Fix gdb-7.12.1 MinGW/MSYS build issue

Simon Marchi simon.marchi@polymtl.ca
Wed Aug 29 15:50:00 GMT 2018


On 2018-08-28 18:19, SiZiOUS wrote:
> 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).

That sounds awesome :).  You are working with real hardware?  You need 
Windows XP because that's what the original tools for that platform 
support?

> 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

If this constant is supposed to be defined in the win32 API but is 
missing with mingw, could it be that it's more of a mingw bug, and it 
should be fixed there?

> 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.

Just wondering, which 7.x version is confirmed to work with that 
platform?  Functionality-wise, there's no more difference between the 
7.12 and 8.0 releases, for example, than there are between 7.11 and 
7.12.  The numbers are pretty much arbitrary.  So let's say GDB 7.6 was 
known to work, there's no reason to use 7.12 over what is the latest 
released GDB at the moment (unless you actually have a problem with the 
latest release, in which case we want to know!).

> 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?

If the missing definition is indeed a mingw bug, but there is really no 
way of getting a new mingw release with that fixed because the project 
is unmaintained (but still useful to some people), I would not be 
against a patch like what you proposed.  I would however add a clear 
comment for why this is needed, so that if some day we officially decide 
not to support this mingw, we can remove it.

Simon



More information about the Gdb-patches mailing list