Hi David, thanks a lot!
Best regards, Goetz. > -----Original Message----- > From: David Holmes [mailto:david.hol...@oracle.com] > Sent: Dienstag, 26. September 2017 05:29 > To: Lindenmaier, Goetz <goetz.lindenma...@sap.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 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. > >>>>