> In uplink.c the lazy##i stubs contain this asm line:
> 
> _asm jmp OPENSSL_UplinkTable+4*i
> 
> which should probably be 8*i on WIN64A. I guess this doesn't come up
> often because only UP_fsetmod is not a libc shortcut.
> 
> LazyN calls OPENSSL_Uplink(table, index) (which sets table[index] from
> the app's OPENSSL_Applink) and then jumps to table[index].
> 
> But on WIN64A, table[index] = func looks like
> 
> mov qword ptr [rcx+rax*8],rdx 

The code you see in uplink.c is not one used on win64. 64-bit code is
generated as pure assembler by running uplink-?.pl.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to