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.  */
> 

-- 

Reply via email to