This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH GOLD] [6/N mingw host] Add support for not keeping the files open on execute


Andrew Pinski wrote:
> This is the first patch which I could not figure out how to do without
> a #ifdef _WIN32.

This may break cygwin (that is, it may unintentionally cause a gold
built on a cygwin $host to use win32 constructs directly, instead of
going thru the cygwin posix emulation).

You see, ordinarily on cygwin _WIN32 is not defined. However, *if* you
happen to #include <windows.h> on cygwin, *then* _WIN32 is defined for
that translation unit (and sometimes you DO want to #include
<windows.h>, even on cygwin). If you really truly want a block of code
to be active ONLY if mingw, then it's best to use:

#if defined(_WIN32) && !defined(__CYGWIN__)

And, if you want a block of code to be active on the windows platform,
regardless of whether its mingw or cygwin, then

#if defined(_WIN32) || defined(__CYGWIN__)

'Course, that's very ugly -- but then, so is using #ifdef _WIN32 anyway.

--
Chuck


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]