paulfloyd / freebsd_valgrind

Git repo used to Upstream the FreeBSD Port of Valgrind
GNU General Public License v2.0
15 stars 4 forks source link

memcheck/tests/origin3-no fails [clang] #157

Closed paulfloyd closed 2 years ago

paulfloyd commented 3 years ago

I did make a new expected for this testcase, using clang on Linux to generate it. However, just because it fails badly on Linux doesn't really justify a new expected. So I'm deleting it.

Comment i the source file

// [[This comment applies to the old piggybacking approach to
// origin-tracking.  The newer approach handles the cases in this file
// correctly.]]
// This test demonstrates cases the piggybacking algorithm cannot handle,
// but which are handled ok by the instrumentation based algorithm.

With clang, no errors are detected.

Same problem with clang 11 on Fedora 33.

Same issue with origin1-yes

paulfloyd commented 2 years ago

Closing this for now. The cause is that clang generates cmove instructions which, in Valgrind, just propagate the uninitialized status. No "Conditional jump or move depends on uninitialised value(s)" is produced. There is an error back in main when the result is passed to exit.

I need to find a way to change the testcase so clang triggers a 'Conditional jump' error.