Resurrect discussion: Mixing 32 and 64 bit distro
Ryan Johnson
ryan.johnson@cs.utoronto.ca
Thu Feb 14 14:00:00 GMT 2013
On 14/02/2013 8:12 AM, Earnie Boyd wrote:
> On Thu, Feb 14, 2013 at 5:02 AM, Corinna Vinschen wrote:
>>>> Another, more development oriented downside is the fact that we have to
>>>> introduce the cyg64 DLL prefix, which, as far as I remember from the
>>>> discussion in 2011, breaks libtool and potentially configury and/or
>>>> Makefiles of a couple of packages.
>>> It would break every build system used to build libraries, as well as
>>> programs which dlopen() prefixed libraries, of which there are many.
>>> I assure you that it's a *very* big deal.
>> Sigh, yes, I noticed that already myself. I didn't take that serious
>> two years ago since it sounded easy to fix.
>>
> My argument for cyg64 prefix was that there will be those that try to
> do a mix and making it easily identifiable which DLL was actually
> causing a problem.
>
>> Ok, so far we have three voices for keeping 32 and 64 bit separate,
>> one voice for mixing them, and one being very unsure.
>>
> Again, because people will do it.
>
>> Any more input?
> Any way for the 64bit DLL to take a different code path for 32bit executables?
So, to get this straight, you're not so much proposing support for
inter-op as you are advocating a clear separation between 32- and 64-bit
versions to help people "see" what's wrong when they try to mix the two
inappropriately?
Doesn't the windows loader completely ignore DLLs having the wrong
bit-ness? If so, the only problem from mixing them would be failure to
load dlls that you think are available [1]. Rather than changing the
prefixes and breaking any number of tools, couldn't we just modify
ldd/cygcheck to check (if they don't already)? Then, identifying the
problematic dll(s) would be pretty easy, even if the user doesn't want
to use 'file' or 'objdump'
[1] This assumes the user didn't clobber their 32-bit install with a
64-bit one, completely replacing a subset of dlls with a new set having
the wrong bitness. Mixed 1.5/1.7 installations were never allowed AFAIK,
so I don't think 32/64-bit mixes need be.
$0.02
Ryan
More information about the Cygwin-developers
mailing list