Re: [patch] compile: Fix MinGW build [Re: [mingw rfc] Add mkdtemp to gdb/gnulib/]

Eli Zaretskii
2014-12-16T03:37:34Z

> Date: Mon, 15 Dec 2014 23:28:01 +0100
> From: Jan Kratochvil <jan.kratochvil@redhat.com>
> Cc: brobecker@adacore.com, yao@codesourcery.com, gdb-patches@sourceware.org,
> ktietz@redhat.com
>
> Even if it managed to load libcc1.so (it needs host-dependent name libcc1.dll)
> then it would soon end up at least on:
>
> default_infcall_mmap:
> error (_("This target does not support inferior memory allocation by mmap."));
>
> As currently there is only:
>
> linux-tdep.c:
> set_gdbarch_infcall_mmap (gdbarch, linux_infcall_mmap);

Why is mmap needed here?

> OK for check-in?
>
>
> Thanks,
> Jan
> gdb/ChangeLog
> 2014-12-15 Jan Kratochvil <jan.kratochvil@redhat.com>
>
> Fix MinGW compilation.
> * compile/compile.c (get_compile_file_tempdir): Call error on _WIN32.
>
> --- ./gdb/compile/compile.c 2014-12-14 02:48:38.000000000 +0100
> +++ ./gdb/compile/compile.c 2014-12-15 23:21:28.788716340 +0100
> @@ -191,7 +191,11 @@ get_compile_file_tempdir (void)
>
> strcpy (tname, TEMPLATE);
> #undef TEMPLATE
> +#ifdef _WIN32
> + error (_("mkdtemp needs to be implemented for MS-Windows hosts"));
> +#else
> tempdir_name = mkdtemp (tname);
> +#endif
> if (tempdir_name == NULL)
> perror_with_name (_("Could not make temporary directory"));

I think _WIN32 will catch Cygwin as well, which is not what you want.

Why not just check HAVE_MKDTEMP?