[Bug 1884143] Comment bridged from LTC Bugzilla
bugproxy
1884143 at bugs.launchpad.net
Fri Jul 17 14:49:39 UTC 2020
------- Comment From chavez at us.ibm.com 2020-07-17 10:42 EDT-------
Hi Frank,
We've opened LP 1887974 for 20.04 and while we are it can we include the
fix in 18.04?
This bug should have been more clearer on target release(s). However,
for the record the bridge does create a tag in the LP bug that starts
with "targetmilestone-inin" followed by the target release 1804, 2004,
etc.
Thanks for the help!
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to valgrind in Ubuntu.
https://bugs.launchpad.net/bugs/1884143
Title:
Valgrind: PPC sync instruction L field should only be 2 bits in ISA
3.0
Status in The Ubuntu-power-systems project:
Fix Released
Status in valgrind package in Ubuntu:
Fix Released
Bug description:
---Problem Description---
Valgrind, including version 3.16, mishandles the L field of the sync instruction.
More details are available at: https://bugs.kde.org/show_bug.cgi?id=422677
This is a request to backport the following Valgrind patch from
upstream:
commit fb6f7abcbc92506d302fb18a2c5fc853d2929248
Author: Carl Love <cel at us.ibm.com>
Date: Tue Jun 9 10:42:03 2020 -0500
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
Machine Type = Reproducible on all POWER8 and POWER9 servers
---Steps to Reproduce---
$ cat test-sync.c
#define __SYNC(l) ".long (0x7c0004AC | ((" #l ") << 21))"
int
main ()
{
asm volatile(__SYNC(4) : : : "memory");
}
$ gcc test-sync.c && valgrind --tool=none ./a.out
==150073== Nulgrind, the minimal Valgrind tool
==150073== Copyright (C) 2002-2017, and GNU GPL'd, by Nicholas Nethercote.
==150073== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==150073== Command: ./a.out
==150073==
dis_memsync(ppc)(sync/lwsync,flag_L)
disInstr(ppc): unhandled instruction: 0x7C8004AC
primary 31(0x1F), secondary 1196(0x4AC)
==150073== valgrind: Unrecognised instruction at address 0x180788.
==150073== at 0x180788: main (in /home/tuliom/tmp/a.out)
==150073== Your program just tried to execute an instruction that Valgrind
==150073== did not recognise.
...
Userspace tool common name: Valgrind
The userspace tool has the following bit modes: 64-bit
Userspace deb: valgrind
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-power-systems/+bug/1884143/+subscriptions
More information about the foundations-bugs
mailing list