> ... this MT and "debugging" naming convention exists exclusively in > compiler driver's mind, cl.exe in Microsoft case, and applies ^^^^ I naturally meant ""mind"" in quotes:-)
> > Added to this problem, we have the different register sizes on > > different CPUs (32-bit, 64-bit, and whatever will follow), which seems > > to be difficult to intermix in the same library, > ^^^^^^^^^??? It's impossible. You can't intermix 64- and 32-bit > objects in same library nor in address space of any particular process. > Well, the latter is possible from hardware point of view, but it > requires kernel support and there is no any [as far as I know]. To avoid possible confusion. You don't need kernel support to perform the switch itself, as it's performed totally in user-land. But(!) the kernel has to be aware of such possibility and act accordingly at next context switch (be it system call, page miss or something else). This is what is missing in kernel. Well, in Windows such switches are taking place in user-land, but they are allowed only in explicitly "authorized" code segments, most notably in 32-bit NTDLL.DLL, and never in user supplied code segments. In other words you *can* write a code in assembler and switch say from 32- to 64-bit instruction set, but the program will most likely crash shortly after that in a mysterious way. A. ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]