Hello,

As a stepping stone in the hotspot makefile conversion, I have broken out the serviceability agent separately and converted it into proper modular build-infra makefiles. Doing this conversion separately has some value on its own by reducing the special cases currently needed for building the jdk.hotspot.agent module.

The current SA java build compiles with the boot jdk javac with -source/-target JDK N-1. The proposed change instead builds SA with the interim-langtools javac for JDK N, like all the rest of the JDK classes.

There is already a bug filed for reorganizing the source of the SA agent to conform to the Jigsaw style modular source layout: JDK-8067194, so I have left the source in its current location.

The native compilation and linking has been changed to base the flags used on what configure sets up for the other JDK libraries. This has caused some changes in flag usage. From what I can tell, nothing important is different however. I have run the relevant jtreg tests on all OSes to verify that it still works. Some of the differences include:

* Linux: "-Xlinker z -Xlinker defs" was added to LDFLAGS, which causes link failure unless "-ldl" was also added to LIBS. * Solaris: More warnings activated through "+w" caused need for disabling some warnings. I fixed one warning instance which was trivial (int->size_t), but couldn't figure out the rest. I will file a followup bug for fixing those if this patch is accepted.

I tried to mimic the current behavior of excluding SA on linux-ppc and zero that Volker added a while back. Now it's excluded on the module level instead so that jdk.hotspot.agent isn't even built in that case. It would be good if this could be tested.

Bug: https://bugs.openjdk.java.net/browse/JDK-8142336
Webrev: http://cr.openjdk.java.net/~erikj/8142336/webrev.01/

/Erik

Reply via email to