RFR: 8256380: JDK-8254162 broke 32bit windows build

Thomas Stuefe stuefe at openjdk.java.net
Mon Nov 16 12:38:55 UTC 2020


On Mon, 16 Nov 2020 12:25:33 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

>> Fix win-32 linker error due to forward declaration and definition signature mismatch.
>> 
>> FWIW, the altered header is included from nativeLookup.cpp, which uses the function pointer of that function. But, since the signature of the definition [1] is different, and due to name mangling on the particular ABI, the symbols of the declaration in the header and definition are different as well, and things fail to link later.
>> 
>> [1] https://github.com/openjdk/jdk/blob/master/src/hotspot/share/prims/scopedMemoryAccess.cpp#L181
>
> Looks good to me, and trivial.

Looks good.

Interesting. So because we export with extern "C" all other platforms had the name decorations stripped away, and we only notice the mismatch because 32bit windows still has calling convention specific decorations.

..Thomas

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

PR: https://git.openjdk.java.net/jdk/pull/1222


More information about the hotspot-dev mailing list