[PATCH] Conditionally include "<windows.h>" on common/pathstuff.c (and unbreak build on mingw*)

Christophe Lyon christophe.lyon@linaro.org
Fri Mar 2 11:46:00 GMT 2018


On 1 March 2018 at 21:46, Simon Marchi <simon.marchi@polymtl.ca> wrote:
> On 2018-03-01 15:20, Sergio Durigan Junior wrote:
>>
>> commit b4987c956dfa44ca9fd8552f63e15f5fa094b2a4
>> Author: Sergio Durigan Junior <sergiodj@redhat.com>
>> Date:   Fri Feb 9 18:44:59 2018 -0500
>>
>>     Create new common/pathstuff.[ch]
>>
>> Introduced a regression when compiling for mingw*:
>>
>>   /gdb/common/pathstuff.c: In function 'gdb::unique_xmalloc_ptr<char>
>>   gdb_realpath(const char*)':
>>   /gdb/common/pathstuff.c:56:14: error: 'MAX_PATH' was not declared in
>> this scope
>>        char buf[MAX_PATH];
>>                 ^
>>   /gdb/common/pathstuff.c:57:5: error: 'DWORD' was not declared in this
>> scope
>>        DWORD len = GetFullPathName (filename, MAX_PATH, buf, NULL);
>>        ^
>>   /gdb/common/pathstuff.c:57:11: error: expected ';' before 'len'
>>        DWORD len = GetFullPathName (filename, MAX_PATH, buf, NULL);
>>              ^
>>   /gdb/common/pathstuff.c:63:9: error: 'len' was not declared in this
>> scope
>>        if (len > 0 && len < MAX_PATH)
>>            ^
>>   /gdb/common/pathstuff.c:64:54: error: 'buf' was not declared in this
>> scope
>>          return gdb::unique_xmalloc_ptr<char> (xstrdup (buf));
>>                                                         ^
>>   make[2]: *** [pathstuff.o] Error 1
>>
>> The proper fix is to conditionally include "<windows.h>".  This commit
>> does that, without introducing any regressions as per tests made by
>> our BuildBot.
>>
>> gdb/ChangeLog:
>> 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
>>
>>         PR gdb/22907
>>         * common/pathstuff.c: Conditionally include "<windows.h>".
>> ---
>>  gdb/common/pathstuff.c | 4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/gdb/common/pathstuff.c b/gdb/common/pathstuff.c
>> index fc574dc32e..8c4093fc38 100644
>> --- a/gdb/common/pathstuff.c
>> +++ b/gdb/common/pathstuff.c
>> @@ -23,6 +23,10 @@
>>  #include "filenames.h"
>>  #include "gdb_tilde_expand.h"
>>
>> +#ifdef USE_WIN32API
>> +#include <windows.h>
>> +#endif
>> +
>>  /* See common/pathstuff.h.  */
>>
>>  gdb::unique_xmalloc_ptr<char>
>
>
> Christopher, does that fix the issue for you?  If so, the patch LGTM.
>

Yes, I applied it to my gdb-8.1-branch , and the build now succeeds.
Thanks

> Simon



More information about the Gdb-patches mailing list