On Thu, 14 Jul 2022 02:48:07 GMT, Julian Waters <jwat...@openjdk.org> wrote:

>> Several instances of function pointers in jdk.crypto.cryptoki are marked 
>> with the dllimport attribute, which should only be applied to symbol 
>> declarations, of which a typedef'd function pointer is not. This would only 
>> be useful if a function pointer defined in the linked dll is desired to be 
>> imported, not if the pointer itself is created locally and used to store a 
>> function address. In addition to being incorrect, at least on the versions 
>> of Visual C++ the JDK supports today, it is also redundant; Typically they 
>> are used to avoid an indirect stub that jumps to the proper entry in the 
>> import address table, but usage of these typedefs involves loading the 
>> address of a function and directly (Usually through GetProcAddress, even in 
>> other cases it would simply be set to the address of a function anyway) 
>> assigning it to the pointer before immediately dispatching when called, 
>> which bypasses this procedure entirely and makes the attribute pointless.
>
> Julian Waters has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Revert changes to pkcs11.h

Marked as reviewed by valeriep (Reviewer).

-------------

PR: https://git.openjdk.org/jdk/pull/9353

Reply via email to