[8u] RFR(S) 8187045: [linux] Not all libraries in the VM are linked with -z,noexecstack
david.buck at oracle.com
Fri Jan 12 05:24:39 UTC 2018
May I please get a review of my backport of this small change:
JDK 10 review thread:
JDK 10 changeset:
webrevs of JDK 8 backport for review:
As there have been significant changes (refactoring) to the build files between JDK 8 and JDK 10, I had to modify the change slightly. For each of the two source trees modified, hotspot and root, I tried to follow the preexisting style as much as possible. So for hotspot (really just libjsig.so and the SA agent), I introduced a new variable, LDFLAGS_NO_EXEC_STACK to the make files. (Note that libjvm.so was already built with noexecstack before this fix). However, for the forest root changes, I directly added the needed option to LDFLAGS_JDK. Ultimately these are merely syntax differences, the actual change in resulting builds is exactly the same as in JDK 10.
The test case only required very minor modification (test library refactoring, minor change to how ElfFile::specifies_noexecstack is called).
I have manually confirmed, on arm64 (an impacted platform), that the the included test case now passes after this fix. JPRT hotspot testset run and passed.
More information about the build-dev