[Bug go/101407] non-determinism in -fdump-go-spec

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Jul 12 13:09:38 GMT 2021


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101407

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
           Assignee|ian at airs dot com                |jakub at gcc dot gnu.org
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2021-07-12

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 51140
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51140&action=edit
gcc12-pr101407.patch

I can reproduce it.  The problem is that hash_set for pointers by default uses
ptr_hash, which hashes the pointer values rather than strings they point to,
and that hash_set is then traversed and type lines are emitted during that
traversal.  So, with address space randomization the strings hash differently
between different runs.  This patch changes it to hash the strings instead and
that should be reproduceable.


More information about the Gcc-bugs mailing list