[Bug 1884143] Re: Valgrind: PPC sync instruction L field should only be 2 bits in ISA 3.0

Andrew Cloke 1884143 at bugs.launchpad.net
Wed Jul 15 10:45:09 UTC 2020


> focal is still on 3.15. Are there any plans to update Valgrind on
focal to v3.16.1 too?

There is a policy not to do wholesale version bumps on packages once
released, so "no" there are no plans to update valgrind on focal to
v3.16.1.

However, if there are specific patchsets that address critical issues,
it may be possible to use the "SRU" process to apply these to the focal
release.

This bug is currently marked as "Fix Released", so if there is a
patchset that should be considered for inclusion in focal, would it be
possible to raise a new bug?

Thanks.

-- 
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