8201226 missing JNIEXPORT / JNICALL at some places in function declarations/implementations - was : RE: missing JNIEXPORT / JNICALL at some places in function declarations/implementations
Alexey Ivanov
alexey.ivanov at oracle.com
Wed Apr 11 09:56:20 UTC 2018
The change looks good to me.
On 11/04/2018 10:20, Baesken, Matthias wrote:
>> Was main() exported via map files?
> Seems main was exported , I can find it in jdk10 in e.g. :
>
> make/mapfiles/launchers/mapfile-sparcv9
> make/mapfiles/launchers/mapfile-x86_64
Thank you for confirming it.
Then JNIEXPORT is better left untouched to keep main() exported.
Regards,
Alexey
> Best regards, Matthias
>
>
>> -----Original Message-----
>> From: Alexey Ivanov [mailto:alexey.ivanov at oracle.com]
>> Sent: Mittwoch, 11. April 2018 11:11
>> To: Baesken, Matthias <matthias.baesken at sap.com>; Magnus Ihse Bursie
>> <magnus.ihse.bursie at oracle.com>
>> Cc: build-dev <build-dev at openjdk.java.net>; Doerr, Martin
>> <martin.doerr at sap.com>
>> Subject: Re: 8201226 missing JNIEXPORT / JNICALL at some places in function
>> declarations/implementations - was : RE: missing JNIEXPORT / JNICALL at
>> some places in function declarations/implementations
>>
>>
>> On 11/04/2018 08:44, Baesken, Matthias wrote:
>>>> JIMAGE_FindResource doesn't have JNICALL modifier now, does it?
>>> Hi Alexey, yes that's true .
>>>
>>>> Please remove JNIEXPORT from main():
>>>> src/java.base/share/native/launcher/main.c
>>>> src/jdk.pack/share/native/unpack200/main.cpp
>>> I would prefer to keep it for now .
>>> I notice some comments in our SAPJVM code base about needing
>> JNIEXPORT for main for Solaris (we were running in SAPJVM without
>> mapfiles in the past already).
>>> Maybe that’s related to
>>>
>>> src/java.base/unix/native/libjli/java_md_solinux.c
>>>
>>> where main is dlsym-ed : fptr = (int (*)())dlsym(RTLD_DEFAULT, "main");
>>> but I am not sure about this.
>>> So I better keep the JNIEXPORT for the main functions, could be
>> removed in another cleanup if really needed.
>>
>> OK. Let them stay then.
>> Was main() exported via map files?
>>
>>
>> The change looks good to me.
>>
>> Regards,
>> Alexey
>>
>>>> You can reference both yourself and me as
>>>> Contributed-by: mbaesken, aivanov
>>>> when pushing the changeset if you don't mind.
>>>>
>>> Sure .
>>>
>>> Best regards, Matthias
>>>
>>>
>>>> -----Original Message-----
>>>> From: Alexey Ivanov [mailto:alexey.ivanov at oracle.com]
>>>> Sent: Dienstag, 10. April 2018 21:34
>>>> To: Baesken, Matthias <matthias.baesken at sap.com>; Magnus Ihse
>> Bursie
>>>> <magnus.ihse.bursie at oracle.com>
>>>> Cc: build-dev <build-dev at openjdk.java.net>; Doerr, Martin
>>>> <martin.doerr at sap.com>
>>>> Subject: Re: 8201226 missing JNIEXPORT / JNICALL at some places in
>> function
>>>> declarations/implementations - was : RE: missing JNIEXPORT / JNICALL at
>>>> some places in function declarations/implementations
>>>>
>>>> Hi Matthias,
>>>>
>>>> On 10/04/2018 11:14, Baesken, Matthias wrote:
>>>>> Hello, I had to do another small adjustment to make jimage.hpp/cpp
>> match. Please review :
>>>>> http://cr.openjdk.java.net/~mbaesken/webrevs/8201226.2/
>>>> JIMAGE_FindResource doesn't have JNICALL modifier now, does it?
>>>>
>>>> I've successfully built 32 bit Windows with your patch.
>>>>
>>>>
>>>> Please remove JNIEXPORT from main():
>>>> src/java.base/share/native/launcher/main.c
>>>> src/jdk.pack/share/native/unpack200/main.cpp
>>>>
>>>>> With the latest webrev I could finally build jdk/jdk successfully on both
>> win32bit and win64 bit.
>>>>> Thanks again to Alexey to provide the incorporated patch .
>>>> You can reference both yourself and me as
>>>> Contributed-by: mbaesken, aivanov
>>>> when pushing the changeset if you don't mind.
>>>>
>>>>
>>>> Regards,
>>>> Alexey
>>>>
>>>>> Best regards, Matthias
>>>>>
>>>>>
>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Alexey Ivanov [mailto:alexey.ivanov at oracle.com]
>>>>>> Sent: Montag, 9. April 2018 17:14
>>>>>> To: Baesken, Matthias <matthias.baesken at sap.com>; Magnus Ihse
>>>> Bursie
>>>>>> <magnus.ihse.bursie at oracle.com>
>>>>>> Cc: build-dev <build-dev at openjdk.java.net>; Doerr, Martin
>>>>>> <martin.doerr at sap.com>
>>>>>> Subject: Re: 8201226 missing JNIEXPORT / JNICALL at some places in
>>>> function
>>>>>> declarations/implementations - was : RE: missing JNIEXPORT / JNICALL
>> at
>>>>>> some places in function declarations/implementations
>>>>>>
>>>>>> Hi Matthias,
>>>>>>
>>>>>> On 09/04/2018 15:38, Baesken, Matthias wrote:
>>>>>>> Hi Alexey, thanks for the diff provided by you, and for the
>>>> explanations
>>>>>> .
>>>>>>> I created a second webrev :
>>>>>>>
>>>>>>> http://cr.openjdk.java.net/~mbaesken/webrevs/8201226.1/
>>>>>>>
>>>>>>> - it adds the diff provided by you (hope that’s fine with you)
>>>>>> Yes, that's fine with me.
>>>>>> There could be only one author ;)
>>>>>>
>>>>>>> - changes 2 launchers src/java.base/share/native/launcher/main.c
>>>> and
>>>>>> src/jdk.pack/share/native/unpack200/main.cpp where we face
>> similar
>>>>>> issues after mapfile removal for exes
>>>>>>
>>>>>> I'd rather remove both JNIEXPORT and JNICALL from main().
>>>>>> It wasn't exported, and it shouldn't be.
>>>>>>
>>>>>> Regards,
>>>>>> Alexey
>>>>>>
>>>>>>> Best regards , Matthias
More information about the build-dev
mailing list