Summary: | ppc64: Emulation of dcbt instructions does not handle non-zero hint fields | ||
---|---|---|---|
Product: | [Developer tools] valgrind | Reporter: | Maynard Johnson <maynardj> |
Component: | vex | Assignee: | Julian Seward <jseward> |
Status: | CLOSED FIXED | ||
Severity: | normal | CC: | cel, paralkar |
Priority: | NOR | ||
Version: | 3.9.0.SVN | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Attachments: | Patch to fix this bug |
Reviewed and tested the patch. The new tests are run and no additional errors were found when running make regtest. The patch was committed, VEX commit was 2751, Valgrind commit was 13534. Screwed up and forgot to add the new expected output files and vgtest files for ppc32 and ppc64. Fixed in commit r13535. The patch used the binary constants 0b10000 and 0b10001. The 0b designator is supported by the GCC extensions but not all compilers seem to support the 0b extension in GCC. Therefore, the binary constats were changed to their equivalent hex values as suggested by Florian. Vex commit 2753 Related to: https://bugs.kde.org/show_bug.cgi?id=324765 Can this be closed now? (In reply to comment #5) > Can this be closed now? Yes, please. Bug was fixed, now closing |
Created attachment 82167 [details] Patch to fix this bug A user running a Java app under Valgrind on an IBM POWER7 system reported the following error: dis_cache_manage(ppc)(opc1|b21to25|b0) disInstr(ppc): unhandled instruction: 0x7E0051EC primary 31(0x1F), secondary 492(0x1EC) -------------------------------------- This error was due to the fact the code was not properly handling a non-zero TH field in the instruction, which is valid for several forms of data cache block touch instructions.