> From: [email protected] (Niels Möller)
> Cc: [email protected]
> Date: Thu, 23 Apr 2020 17:10:54 +0200
> 
> The "ecc" variable is a local defined like
> 
>   const struct ecc_curve *ecc = ecc_curves[i];
> 
> (where ecc_curves is the array quoted below). And ecc_dup_jj is a
> top-level function, declared as
> 
>   void
>   ecc_dup_jj (const struct ecc_curve *ecc,
>               mp_limb_t *r, const mp_limb_t *p,
>               mp_limb_t *scratch);
> 
> The implementation is in the dll, so it is resolved by the dynamic
> linker. I've found this stackoverflow question which also asks about
> pointer equality with dlls:
> https://stackoverflow.com/questions/20517589/function-pointer-values-inside-and-outside-a-dll
> 
> And by "symbol", I mean a name that is handled in the linking process.

Then yes, you need to use GetProcAddress to obtain the real address of
a function in a DLL.  Then you can compare that with your table of
function pointers.  When you write code that directly calls a function
whose implementation is in a DLL, you actually call through a jump
table.  You can clearly see that if you disassemble the code around
such call.
_______________________________________________
nettle-bugs mailing list
[email protected]
http://lists.lysator.liu.se/mailman/listinfo/nettle-bugs

Reply via email to