RFR: JDK-8200609 Proper fix for mapfile removal for libjsig

David Holmes david.holmes at oracle.com
Wed Sep 5 22:21:27 UTC 2018


On 6/09/2018 8:13 AM, Magnus Ihse Bursie wrote:
> 
>> 6 sep. 2018 kl. 00:00 skrev David Holmes <david.holmes at oracle.com>:
>>
>> Hi Magnus,
>>
>>> On 5/09/2018 10:11 PM, Magnus Ihse Bursie wrote:
>>> When I removed (mostly) all mapfiles for the JDK libraries, building of libjsig started failing on Solaris, and that part was backed out.
>>> Here's a new, and improved solution to remove the mapfile for libjsig, even on Solaris.
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8200609
>>> WebRev: http://cr.openjdk.java.net/~ihse/JDK-8200609-remove-mapfile-for-libjsig/webrev.01
>>
>> Why are the forward declarations Solaris-only when the actual function definitions add JNIEXPORT unconditionally?
> 
> No other toolchain has a problem when the definition of the functions adds JNIEXPORT (i.e. adds a visibility attribute) to the initial declaration.
> 
> It's certainly possible to do it for the other platforms, but it's not needed and I thought it didn't add anything to do it for all platforms. This way it's clear that the solstudio compiler is an anomaly.

Okay.

>>
>>   37  * before including signal.h */
>>   38 #include "sys/signal.h"
>>
>> Why do we need to include sys/signal.h rather than just (the existing) signal.h?
> 
> Since it includes the definition of the sigaction struct that is needed for the sigaction() prototype. (signal.h includes sys/signal.h for type definitions)

Doh! Of course.

Thanks,
David

> /Magnus
> 
>>
>> Thanks,
>> David
>>
>>> /Magnus
> 



More information about the build-dev mailing list