RFR: JDK-8200609 Proper fix for mapfile removal for libjsig
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.
>> 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.
More information about the core-libs-dev