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: having 1 set of non-bin files w/separate {bin,lib}[32/64)? (was Re: please update the supported Cygwin package list ...)


Earnie Boyd wrote:
On Sat, Aug 3, 2013 at 10:19 PM, Linda Walsh wrote:
Earnie Boyd wrote:
However you the user have a choice of where to put things.  Frankly, I
would use /cygwin and /cygwin32
----
        And how does that get you the autoredirection I suggested with
the links in Windows/syswow64 and windows/system32?

You can't you have to segregate the environments.  You don't want to
touch Windows system directories even to put Windows symlinks.
===
Why not?


You have two differing systems which can be controlled from the
Desktop via iconed shortcuts that starts one or the other.  Windows is
smart enough to know when you have a 64bit executable and when you
don't.
---

?!?   how would it link with 32-bit or 64-bit libraries which are both
in the path of "C:\windows\system32"?

When you are running under 32-win, you are running in the sysWOW64 subsystem
which maps 32-bit calls to the C:\windows\syswow64 directory.

I.e. if you look in 32-bit bash at C:\windows\system32, you are seeing
the syswow64 directory.

If you look in a 64-bit cmd.exe or bash at C:\windows\system32 you are seeing
the real thing.

For 32-bit apps that understand 64-bit paths, their is another virtual link
at C:\windows\sysnative that is only visible when you run under 32-bit win
and points to the real (64bit) C:\windows\system32 (which is full of 64-bit apps
on the real filesystem).

How do you think windows has all the libraries be the same name & path on  32-bit
windows and 64-bit windows?

That virtualization is supported EVEN if you have redirect-on-error turned off,
and even if you have UAC turned off -- it's built into the kernel -- but as
such, it isn't usable EXCEPT through those pathnames.

That means if you want to put a driver in C:\windows\system32 as a 32 bit driver
it will end up physically in C:\windows\syswow64, and if you are 64-bit driver,
you will end up in the real dir, but a win32 process will see the 64-bit driver
file under C:\windows\sysnative.

It is the only redirection that works when all others are turned off.

If you know of another, fine.  But to say not to use it when it is the only
method that could work transparently is ridiculous.


--
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]