This is the mail archive of the cygwin-developers 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: RFC: Cygwin 64 bit?


On Jul  6 15:00, Earnie wrote:
> Corinna Vinschen wrote:
> > IMHO the order should be something like this:
> >
> > Is suffix ".so"? Yes -> Does the file exist? Yes -> Done No  ->
> > Replace ".so" with ".dll" #ifdef __X86_64__ Does the filename start
> > with "cyg"? Yes -> Replace "cyg" with "cyg64" Does the file exist? No
> > -> Revert back to "cyg" #endif Does the filename start with "lib"?
> > Yes -> Replace "lib" with "cyg"/"cyg64" Does the file exist? No ->
> > Revert back to "lib" Does the file exist? Yes -> Done return ENOENT
> 
> It may be easier just to put the 64 bit dll in /lib64 and add /lib64 to
> the PATH variable before the CreateProcess occurs.  Or perhaps do both.

This is *not* about fork or exec, it's about dlopen.  And the reason to
do something like this is to be able to change the "cyg" prefix but
maintain some kind of backward compatibility when loading DLLs dynamically.

Also, moving 64 bit DLLs to /lib64 and add /lib64 to $PATH doesn't
really help, if the 64 bit DLLs have the same name as their 32 bit
counterparts.  Either the 64 bit DLLs or the 32 bit DLLs are prior in
the Windows DLL search path.  Either 32 bit applications will break, or
64 bit applications, dependent on the order.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat


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