Dirk Mueller
a306f3d4aa
* Many bugfixes, too many to list here, see NEWS file - The implicit memcpy done by each call to realloc now counts towards the read and write counts of resized heap blocks, making those counts higher and more accurate. - cg_annotate's --auto and --show-percs options now default to 'yes', because they are usually wanted. - callgrind_annotate's --auto and --show-percs options now default to 'yes', because they are usually wanted. - The command option --collect-systime has been enhanced to specify the unit used to record the elapsed time spent during system calls. The command option now accepts the values no|yes|msec|usec|nsec, where yes is a synonym of msec. When giving the value nsec, the system cpu time of system calls is also recorded. - Several memcheck options are now dynamically changeable. Use valgrind --help-dyn-options to list them. - The release 3.15 introduced a backward incompatible change for some suppression entries related to preadv and pwritev syscalls. When reading a suppression entry using the unsupported 3.14 format, valgrind will now produce a warning to say the suppression entry will not work, and suggest the needed change. - Significantly fewer false positive errors on optimised code generated by Clang and GCC. In particular, Memcheck now deals better with the situation where the compiler will transform C-level "A && B" into "B && A" under certain circumstances (in which the transformation is valid). Handling of integer equality/non-equality checks on partially defined values is also improved on some architectures. - The exprimental Stack and Global Array Checking tool has been removed. It only ever worked on x86 and amd64, and even on those it had a high false positive rate and was slow. An alternative for detecting OBS-URL: https://build.opensuse.org/package/show/devel:tools/valgrind?expand=0&rev=221
35 lines
1.3 KiB
Diff
35 lines
1.3 KiB
Diff
From fb6f7abcbc92506d302fb18a2c5fc853d2929248 Mon Sep 17 00:00:00 2001
|
|
From: Carl Love <cel@us.ibm.com>
|
|
Date: Tue, 9 Jun 2020 10:42:03 -0500
|
|
Subject: [PATCH] Power PC Fix extraction of the L field for sync instruction
|
|
|
|
The L field is currently a two bit[22:21] field in ISA 3.0. The size of the
|
|
L field has changed over time.
|
|
|
|
Currently the ISA 3.0 Valgrind sync instruction support code sets the
|
|
flag_L for the instruction L field to a five bit value that includes bits
|
|
that are marked reserved the sync instruction. This patch fixes the issue for ISA 3.0
|
|
to only setting flag_L the specified two bits.
|
|
|
|
Valgrind bugzilla: https://bugs.kde.org/show_bug.cgi?id=422677
|
|
---
|
|
VEX/priv/guest_ppc_toIR.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/VEX/priv/guest_ppc_toIR.c b/VEX/priv/guest_ppc_toIR.c
|
|
index 582c59ec0..c4965a19e 100644
|
|
--- a/VEX/priv/guest_ppc_toIR.c
|
|
+++ b/VEX/priv/guest_ppc_toIR.c
|
|
@@ -8777,7 +8777,7 @@ static Bool dis_memsync ( UInt theInstr )
|
|
/* X-Form, XL-Form */
|
|
UChar opc1 = ifieldOPC(theInstr);
|
|
UInt b11to25 = IFIELD(theInstr, 11, 15);
|
|
- UChar flag_L = ifieldRegDS(theInstr);
|
|
+ UChar flag_L = IFIELD(theInstr, 21, 2); //ISA 3.0
|
|
UInt b11to20 = IFIELD(theInstr, 11, 10);
|
|
UInt M0 = IFIELD(theInstr, 11, 5);
|
|
UChar rD_addr = ifieldRegDS(theInstr);
|
|
--
|
|
2.27.0
|
|
|