The 10/05/2020 12:52, Vaseeharan Vinayagamoorthy wrote: > Hi, > > After this patch, I am noticing that some glibc crypto tests get stuck in > scanf which goes into busy loop. > > My build/host/target setup is: > Build: aarch64-none-linux-gnu > Host: aarch64-none-linux-gnu > Target: aarch64-none-linux-gnu
i can reproduce this on aarch64, i'm looking at it: if i compile glibc with gcc trunk after this commit i see $ ./testrun.sh crypt/cert < $glibcsrc/crypt/cert.input K: 0000000000000000 P: 0000000000000000 C: 0000000000000000 Encrypt FAIL K: 0000000000000000 P: 0000000000000000 C: 0000000000000000 Encrypt FAIL K: 0000000000000000 P: 0000000000000000 C: 0000000000000000 Encrypt FAIL K: 0000000000000000 P: 0000000000000000 C: 0000000000000000 Encrypt FAIL K: 0000000000000000 P: 0000000000000000 C: 0000000000000000 Encrypt FAIL K: 0000000000000000 P: 0000000000000000 C: 0000000000000000 Encrypt FAIL ... it just keeps printing this. same test binary with glibc code compiled with an older gcc works, so something in glibc gets miscompiled. i will have to do more digging to figure out what. > > > > Kind regards > Vasee > > > On 27/09/2020, 22:46, "Gcc-patches on behalf of Jan Hubicka" > <gcc-patches-boun...@gcc.gnu.org on behalf of hubi...@ucw.cz> wrote: > > Hi, > this patch fixes a pasto in modref_summary::useful_p that made > ipa-modref to give up on tracking stores when all load info got lost. > > Bootstrapped/regtested x86_64-linux, comitted. > > gcc/ChangeLog: > > 2020-09-27 Jan Hubicka <hubi...@ucw.cz> > > * ipa-modref.c (modref_summary::useful_p): Fix testing of stores. > > diff --git a/gcc/ipa-modref.c b/gcc/ipa-modref.c > index 728c6c1523d..6225552e41a 100644 > --- a/gcc/ipa-modref.c > +++ b/gcc/ipa-modref.c > @@ -135,7 +135,7 @@ modref_summary::useful_p (int ecf_flags) > return true; > if (ecf_flags & ECF_PURE) > return false; > - return stores && !loads->every_base; > + return stores && !stores->every_base; > } > > /* Dump A to OUT. */ > --