RFR: JDK-8200229 Simplify building of libjsig

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Mon Mar 26 09:21:01 UTC 2018


Libjsig implements a wrapper library is supposed to be LD_PRELOADed by 
user code that wants to mix signals with calling the JVM.

It is a very simple library; it's just a single file. Nevertheless, it 
has historically been built in a somewhat quirky way. This is mostly due 
to how it was part of the Hotspot makefiles, were it was something of an 
odd bird.

There's no reason for any of this quirkiness. It can be built just like 
a normal JDK library, and it can be built by the java.base module, 
rather than hotspot. (After all, since the repo consolidation, the code 
already resides in java.base/.../libjsig).

The only "odd" thing that remains is that, due to backwards 
compatibility, we need to put symlinks in each hotspot variant 
directory, since user code might expect to find the library there.

Previously, we also symlinked to the debuginfo files, but there's really 
no reason to do that, it just complicates the makefile.

Note that there is a conflict with JDK-8200178 (remove mapfiles for jdk 
libs), wherein the mapfile for libjsig was not removed. Depending on 
which of these patches gets pushed first, I need to respin the second 
one. (JDK-8200178 is currently on hold for running the huge java.desktop 
test suite.)

Bug: https://bugs.openjdk.java.net/browse/JDK-8200229
WebRev: 
http://cr.openjdk.java.net/~ihse/JDK-8200229-simplify-building-of-libjsig/webrev.01

/Magnus




More information about the build-dev mailing list