Hi Kai, On Tue, 23 Dec 2014 12:54:50 +0100, Kai Tietz wrote: > > The whole problem is that the gnulib update (in [patch 2/2]) will cause > > (only) for build_win64 many errors like this one: > Only for win64? This is curious. As headers are shared between 32-bit and > 64-bit, and most part of Win32 API too. Yes, only win64 - because the change making struct timeval incompatible with select()'s argument http://sourceforge.net/p/mingw-w64/mailman/message/29610438/ has there +#ifdef __LP64__ > Well, IMO the real issue here is to include windows.h instead of sys/time.h. The patch is now different so I am not sure if it still applies and what is the reason for it. includes since: gnulib: https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00372.html commit f8e84098084b3b53bc6943a5542af1f607ffd477 Author: Bruno Haible Date: Sat Jan 28 18:12:10 2012 +0100 sys_time: Override 'struct timeval' on some native Windows platforms. > Sadly MS decided to pollute namespace with commonly used names in their > platform-headers. So in the past we tried to avoid to include things like > windows.h in bfd and related headers, and to isolate files, which actually > need to include it (eg windows-unicode stuff in binutils/). To include it > now leads to a general architectural change of binutils' bfd (and other > parts). I am not in general oppose to it, but I am wondering if this is > really wanted/needed. Both options are ugly but following the current include/coff/ assumption makes the patch smaller. It builds now (not runtime tested) for mingw64 32-bit and 64-bit. No regressions on {x86_64,x86_64-m32}-fedora21-linux-gnu. Jan