Summary: | final_tidyup should mark helper registers as defined before jumping to the freeres_wrapper | ||
---|---|---|---|
Product: | [Developer tools] valgrind | Reporter: | Mark Wielaard <mark> |
Component: | general | Assignee: | Julian Seward <jseward> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Mark Wielaard
2018-12-11 15:28:31 UTC
Also tested on ppc64[be] and reviewed on irc by Julian (who noticed the issue originally). Committed. commit be7a73004583aab5d4c97cf55276ca58d5b3090b Author: Mark Wielaard <mark@klomp.org> Date: Wed Dec 12 14:15:28 2018 +0100 Mark helper regs defined in final_tidyup before freeres_wrapper call. In final_tidyup we setup the guest to call the freeres_wrapper, which will (possibly) call __gnu_cxx::__freeres() and/or __libc_freeres(). In a couple of cases (ppc64be, ppc64le and mips32) this involves setting up one or more helper registers. Since we setup these guest registers we should make sure to mark them as fully defined. Otherwise we might see spurious warnings about undefined value usage if the guest register happened to not be fully defined before. This fixes PR402006. |