[Bug tree-optimization/88889] [9 Regression] New valgrind warning since r261039

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Jan 17 11:32:00 GMT 2019


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
                 CC|                            |jakub at gcc dot gnu.org,
                   |                            |mark at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Indeed, the generated code looks correct, on the other side for valgrind it
will be terribly hard to differentiate this case from when the source is
  unsigned long long *p = (unsigned long long *) &part[0];
  if (*p == 0x37363534333231)
    __builtin_abort ();
where it wants to complain loudly.  The only way I see is some on the side
data, debuginfo (if it contains information that the cmpq %rax, (%rsp) comes
from inlined strcmp), or whatever other way we can tell valgrind about this.
For this inlined strcmp case it would want to look at the bytes from memory
until first '\0' inclusive and ignore any differences afterwards.


More information about the Gcc-bugs mailing list