On Thu, Jan 12, 2017 at 10:32 AM, Magnus Ihse Bursie < [email protected]> wrote:
> On 2017-01-12 09:56, Thomas Stüfe wrote: > > Hi Volker, > > thanks for the hint. GNU grep works, so I close this as wontfix. > > You might want to add a test in configure that it is picking up a correct > grep. > > /Magnus > > Thanks, good suggestion, I filed and implemented https://bugs.openjdk.java.net/browse/JDK-8172712 for this. ..Thomas > ..Thomas > > On Wed, Jan 11, 2017 at 6:51 PM, Volker Simonis <[email protected]> > <[email protected]> > wrote: > > > Hi Thomas, > > why not simply using GNU grep? We already insist for so many other tools > on the GNU version that this wouldn't be a big thing. > > And as far as I remember, GNU grep is already installed on most of our > machines anyway. You just have to place /opt/freeware/bin in front of your > PATH. > > Your fix is actually also fine, although it breaks the informal code > formatting rules, which require the indentation of wrapped strings. But it > is also quite sensitive and I'm sure this will break again in the future > (in this or in other places). > > By the way, why does it break for 'cds' if it didn't for 'jvmci'? I didn't > knew that we support 'cds' on AIX either? > > Regards, > Volker > > Thomas Stüfe <[email protected]> <[email protected]> schrieb am > Mi., 11. Jan. 2017 um > 16:09: > > > Dear all, > > > > please take a look at this tiny fix: > > > > Bug: https://bugs.openjdk.java.net/browse/JDK-8172579 > > Webrev: > http://cr.openjdk.java.net/~stuefe/webrevs/8172579-colon- > 8168503-broke-AIX-build/webrev/common/autoconf/hotspot.m4.udiff.html > > > > JDK-8168503 exposed a bug in AIX grep. AIX grep, when called like this: > > "grep -Fx <patternlist>" is unable to handle empty patterns correctly. > > 8168503 added a line break in the definition of a variable: > > > > VALID_JVM_FEATURES="compiler1 compiler2 zero shark minimal dtrace jvmti > > jvmci \ > > - graal fprof vm-structs jni-check services management all-gcs nmt cds > > static-build aot" > > + graal fprof vm-structs jni-check services management all-gcs nmt cds > \ > > > > + static-build link-time-opt aot" > > > > > > So now, "cds" is followed by multiple spaces, which are later expanded to > > multiple newlines, and grep is unable to match the pattern immediately > > preceding these newlines (in this case, "cds"). This causes the > > HOTSPOT_VALIDATE_JVM_FEATURES > > function to fail with "Invalid JVM feature: cds". > > > > The error would also happened before when trying to match "jvmci", but so > > far we do not build jvmci on powerpc. > > > > The workaround for now is just to remove the superfluous spaces. > > > > I tried for some hours to find a better solution but could not find one > > which was small enough and worked on all platforms. > > > > I tried using sed to change multiple spaces to a single space, but did not > > get it to work correctly on AIX either. > > > > I thought about passing the pattern list as file to grep - which opposed > to > > passing the pattern in the command line works as expected - but refrained > > from this because creating temporary files is error prone. > > > > I attempted to change the whole NEEDLE/STACK expression to a loop checking > > each single feature with '=~' against the list of valid features, but this > > felt too intrusive. > > > > The proposed fix is not the most elegant one but the risk for other > > platforms is minimal and it works. > > > > Kind Regards, Thomas > > > > >
