This is the mail archive of the cygwin mailing list for the Cygwin 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: Why are the 32- and 64-bit cygwin1.dlls incompatible?


On 8/22/2013 14:46, Earnie Boyd wrote:
On Thu, Aug 22, 2013 at 1:14 PM, Corinna Vinschen wrote:

When execveing a Cygwin process, a lot of data is submitted via shared
memory, via data copying...

Since you know that the DLL regions are different what about execing
the process as if it were a windows native process?

That was my thought.

I assume this data sharing stuff occurs only for Cygwin-to-Cygwin exec()s, which is why -- as I recently learned -- cygwin1.dll already checks the DLL dependency graph of a process it's about to exec to see if it's a Cygwin process.

Couldn't it use this same info to detect that it's about to launch a Cygwin program of a different bitness, and fall back to the "native Windows program" case? No attempt to interoperate, just launch it and hope for the best. Fire and forget.

>> Therefore, interaction between the 32 and 64 bit DLLs is not
>> supported.

I'd expect it to behave no better than launching a native Win32 console program from Cygwin today.

The thing is, that's good enough for a lot of cases.

Consider Orpie, which isn't ported to Cygwin 64 yet because OCaml isn't. Does it really do any kind of interop that would require a "native" Cygwin 64 port?

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


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