[Bug 1355530] Re: Valgrind is not supported on PPC64 Little Endian (LE) platforms

Breno Leitão 1355530 at bugs.launchpad.net
Tue Aug 19 13:29:41 UTC 2014


** Changed in: valgrind (Ubuntu)
     Assignee: (unassigned) => Taco Screen team (taco-screen-team)

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

Title:
  Valgrind is not supported on PPC64 Little Endian (LE) platforms

Status in “valgrind” package in Ubuntu:
  Confirmed

Bug description:
  ---Problem Description---
  Valgrind is not supported on PPC64 Little Endian (LE) platforms.  The LE support has recently been added to Valgrind.  Would like to get the support included in the Ubuntu 14.10 release.
   
  ---Additional Hardware Info---
  PPC64 LE system 
   
  Machine Type = PPC64 Little Endian 
    
  ---Steps to Reproduce---
   The valgrind support for PPC64 does not exist.  So starting the tool on the platform just fails.
   
  Userspace tool common name: valgrind 
   
  The userspace tool has the following bit modes: 64-bit 

  The needed support for Valgrind on PPC64 LE was added upstream.  The
  description of the added support can be found in the Valgrind
  bugzillas:

     https://bugs.kde.org/show_bug.cgi?id=334384     Patch 1  Valgrind commit 14238
     https://bugs.kde.org/show_bug.cgi?id=334834     Patch 2  Valgrind commit 14239, vex commit 2914
     https://bugs.kde.org/show_bug.cgi?id=334836     Patch 3  Valgrind commit 14240

     fix for the performance regerssion fix Valgrind commit 14246 on Friday July 8, 2014
   
  Note, patch 2 is depended on some newly added support for passing the Endianess of the host and the guest to the VEX code.  The valgrind commit for this dependent support is as follows:

  Valgrind repository

     r14184 | sewardj | 2014-07-24 07:45:24 -0500 (Thu, 24 Jul 2014) | 8
  lines

     Track vex r2910 (infrastructural improvements in representation of
     endianness in VEX).

     In short: in m_machine.c, VG_(machine_get_hwcaps), get the endianness
     of the host, and pass it through to all places (in VEX) where it is
     required.

  VEX repository

     r2910 | sewardj | 2014-07-24 07:42:03 -0500 (Thu, 24 Jul 2014) | 22
  lines

     Improve infrastructure for dealing with endianness in VEX.  This patch
     removes all decisions about endianness from VEX.  Instead, it requires
     that the LibVEX_* calls pass in information about the guest or host
     endianness (depending on context) and in turn it passes that info
     through to all the places that need it:

     * the front ends (xx_toIR.c)
     * the back ends (xx_isel.c)
     * the patcher functions (Chain, UnChain, PatchProfInc)

     Mostly it is boring and ugly plumbing.  As far as types go, there is a
     new type "VexEndness" that carries the endianness.  This also makes it
     possible to stop using Bools to indicate endianness.  VexArchInfo has
     a new field of type VexEndness.  Apart from that, no other changes in
     types.

     Followups: MIPS front and back ends have not yet been fixed up to use
     the passed-in endianness information.  Currently they assume that the
     endianness of both host and guest is the same as the endianness of the
     target for which VEX is being compiled.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/valgrind/+bug/1355530/+subscriptions



More information about the foundations-bugs mailing list