https://bugs.kde.org/show_bug.cgi?id=418004

            Bug ID: 418004
           Summary: Grail code additions break ppc64
           Product: valgrind
           Version: unspecified
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: vex
          Assignee: jsew...@acm.org
          Reporter: c...@us.ibm.com
  Target Milestone: ---

The commit following commit adds code that causes valgrind to crash on a few of
the ppc64 specific tests:

none/tests/ppc64/test_isa_2_06_part3     (stdout)         
none/tests/ppc64/test_isa_2_06_part3     (stderr)
none/tests/ppc64/test_isa_2_07_part2     (stdout)                               
none/tests/ppc64/test_isa_2_07_part2     (stderr)      

   commit 076a79a48e251067758e1e9d8e50681450ed3889
   Author: Julian Seward <jsew...@acm.org>
   Date:   Wed Nov 27 08:52:45 2019 +0100

       'grail' fixes for ppc32 and ppc64:

       * do_minimal_initial_iropt_BB: for ppc64, flatten rather than
   assert flatness.
         (Kludge. Sigh.)
   etc.

The patch adds the following code in ir_opt.c 

      // FIXME2 The TOC-redirect-hacks generators in m_translate.c --
gen_PUSH()
      //        and gen_PO() -- don't generate flat IR, and so cause this
assertion
      //        to fail.  For the time being, hack around this by flattening,
      //        rather than asserting for flatness, on the afflicted platforms.
      //        This is a kludge, yes.
      if (guest_arch == VexArchPPC64) {
         bb0 = flatten_BB(bb0); // Kludge!
      } else {
         vassert(isFlatIRSB(bb0)); // How it Really Should Be (tm).
      }

The issue comes from the new expressions generated by flatten_BB(bb0). 
The flatten_BB() generates V128 expressions for Iex_ITE which is not supported.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to