Hi Goetz,
I'll sponsor this for you.
David
On 22/09/2017 11:00 PM, Lindenmaier, Goetz wrote:
Hi,
I updated my webrev to the directory structure:
http://cr.openjdk.java.net/~goetz/wr17/8187045-execstackLink/webrev.02/
I also ran it through our tests again.
Could someone please sponsor this change?
Thanks,
Goetz.
-----Original Message-----
From: Lindenmaier, Goetz
Sent: Dienstag, 5. September 2017 10:05
To: David Holmes <david.hol...@oracle.com>; hotspot-runtime-
d...@openjdk.java.net; build-dev <build-dev@openjdk.java.net>
Subject: RE: RFR(M): 8187045: [linux] Not all libraries in the VM are linked
with -z,noexecstack
Hi David,
thanks for looking at my change!
Hi Goetz,
On 1/09/2017 11:05 PM, Lindenmaier, Goetz wrote:
Hi,
I found that not all libraries are linked with -z,noexecstack.
This lead to errors with our linuxppc64 build. The linker omitted
the flag altogether, which is interpreted as a lib with execstack.
This change contains a small test that scans all libraries in the tested VM
to have the noexecstack flag set. It utilizes the elf parser in the VM for
this.
Further -z,noexecstack is now passed to all libraries.
Please review this change. I please need a sponsor.
http://cr.openjdk.java.net/~goetz/wr17/8187045-
execstackLink/webrev.01/
So IIUC presently we only set noexecstack for gcc on linux when building
libjvm - via the JVM_LDFLAGS settings.
Yes.
With this change we also set it for building JDK libraries via the
LDFLAGS_JDKLIB setting. But this seems to be unconditional, not limited
to gcc and linux ??
LDFLAGS_NO_EXEC_STACK="-Wl,-z,noexecstack" is only assigned on linux,
on other platforms its empty.
In addition we want to build libjsig with noexecstack, and we do that by
exposing LDFLAGS_NO_EXEC_STACK in spec.gmk, and using it in
CompileLibjsig.gmk. I don't have an issue with the use of noexecstack
but I think it could just have been hard-wired for linux just as the
bulk of the flags set in that file are. Granted you copied what is done
for LDFLAGS_HASH_STYLE - but in that case I'm assuming it is important
that the same hash style be used throughout. Anyway minor stylistic nit
which may be moot soon as once we have the consolidated repo I think
libjsig could be handled the same as others libs?
I had hoped to find a location where flags that should be used in all linking
steps are assembled. Noexecstack should really be set in any lib we build.
But I didn't find that, so I implemented it as with the HASH_STYLE. I don't
really like it this way because if a new lib is added it might be forgotten
to add the noexecstack.
But I assume after the repo consolidation the build will be reshaped,
so now is not the right time to seek for optimal setups.
Best regards,
Goetz.
>
http://cr.openjdk.java.net/~goetz/wr17/8187045-
execstackLink/webrev.01-
hs/
Test changes look okay to me.
Thanks,
David
Best regards,
Goetz.