RFC: Cygwin 64 bit?

Ryan Johnson ryan.johnson@cs.utoronto.ca
Wed Jun 29 13:49:00 GMT 2011


On 29/06/2011 9:41 AM, Corinna Vinschen wrote:
> On Jun 29 09:22, Ryan Johnson wrote:
>> On 29/06/2011 3:30 AM, Corinna Vinschen wrote:
>>> On Jun 28 17:05, Ryan Johnson wrote:
>>>> One last thought, a question, actually: given that LONG is 32 bits
>>>> in 64-bit windows, and only the low 32-bits of handles are
>>>> meaningful****
>>>> ****how does that impact dll loading, BTW?
>>> No.  Should it?  Do you have an example to show what you're concerned
>>> about?
>> I just remember (somewhere in this now-enormous thread) somebody
>> mentioned that only the low 32 bits of handles are meaningful in
>> order to allow sharing of handles between 64- and 32-bit processes.
>> It seems that this would force dlls to load in the low 2/4GB of
>> memory so that their handles are shareable. Perhaps (hopefully) the
>> sharing thing only applies to HANDLE and not to HMODULE?
> The idea of having HANDLEs with only 32 significant bit is to allow
> handle sharing between 64 and 32 bit processes.  The actual meaning of
> the handles is something we don't care about.  They are opaque values,
> just like file descriptors.
>
> HMODULE is an address value.  Given that you don't share 64 bit DLLs
> with 32 bit processes, they are a non-issue.  And HMODULE values are not
> usefully shareable anyway since they only make sense in the VM of the
> given process.
Good. One less thing to worry about, and a *lot* more address space to 
help fork() work correctly.

Ryan



More information about the Cygwin-developers mailing list