This is the mail archive of the
cygwin-developers
mailing list for the Cygwin project.
Re: RFC: Cygwin 64 bit?
- From: Christopher Faylor <cgf-use-the-mailinglist-please at cygwin dot com>
- To: cygwin-developers at cygwin dot com
- Date: Tue, 17 Jan 2012 14:56:08 -0500
- Subject: Re: RFC: Cygwin 64 bit?
- References: <20110626114501.GW3437@calimero.vinschen.de> <BANLkTikaBthBtCp5QE5eTr0Eb7FCOSN5_g@mail.gmail.com> <4E07F433.8030606@users.sourceforge.net> <20120117172242.GA8008@calimero.vinschen.de>
- Reply-to: cygwin-developers at cygwin dot com
On Tue, Jan 17, 2012 at 06:22:42PM +0100, Corinna Vinschen wrote:
>Hi Jon,
>
>On Jun 27 11:08, JonY wrote:
>> Yes, using only the win32api headers is possible, see the --disable-crt
>> option in the mingw-w64-headers configure. The headers are very much
>> LLP64 though.
>>
>> Though mingw-w64-crt doesn't have this facility yet, it is possible to
>> use only dlltool to build the stub w32api equivalent link libraries for
>> win64 linking, but without mingw bits like libmingwex.
>> [...]
>> The hairy parts would be the LP64/LLP64 ABI difference. For now we need
>> to decide which ABI to go with, the rest of the work will rest on this
>> decision.
>
>Here's a question to warm up this age-old thread.
>
>Consider we would like to have Cygwin-64 being LP64, and consider we
>would like to use the mingw64 headers and libs to build Cygwin.
>
>In that case, all mingw64 headers have a problem in conjunction with
>a Cygwin 64 bit compiler: All definitions in the headers which are
>based on 'long' or 'unsigned long' are wrong. All of them would have
>to use 'int' or 'unsigned int' instead.
>
>So, here's my question: Would it be acceptable upstream to add changes
>along the lines of this one, for instance, in winnt.h:
>
> #if defined (__CYGWIN__) && defined (__x86_64__)
> typedef int LONG;
> #else
> typedef long LONG;
> #endif
>
>?
I think it's very wrong to put understanding of __CYGWIN__ into w32api.
I'm saying this without checking to see if it's already there because,
if it is, that's not a justification, it's a bug.
cgf