https://bugs.kde.org/show_bug.cgi?id=454040

            Bug ID: 454040
           Summary: s390x: False-positive memcheck:cond in memmem on
                    arch13 systems
           Product: valgrind
           Version: unspecified
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: memcheck
          Assignee: jsew...@acm.org
          Reporter: ar...@linux.ibm.com
  Target Milestone: ---

On a system that supports the vector enhancements facility 2 (arch13 or
higher), glibc runs an optimized version of memmem that uses the "vector string
search" instruction. That implementation contains a conditional jump that may
depend on undefined values; however, the end result of the function is still
independent from these undefined values. Since memcheck can't see that, it may
report a false positive, as reproduced like this:

  $ valgrind perl -e "use lib '.'; require BarXXXXXXXXXXXXXXX;"
  ...
  ==3271940== Conditional jump or move depends on uninitialised value(s)
  ==3271940==    at 0x4CAABB6: __memmem_arch13 (memmem-arch13.S:65)
  ==3271940==    by 0x49B64FF: Perl_pp_require (in
/usr/lib64/libperl.so.5.32.1)
  ==3271940==    by 0x49654C1: Perl_runops_standard (in
/usr/lib64/libperl.so.5.32.1)
  ==3271940==    by 0x48DC3F5: perl_run (in /usr/lib64/libperl.so.5.32.1)
  ==3271940==    by 0x108E37: main (in /usr/bin/perl)

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to