This is the third patch in the series. It fixes up the testcases for PPC64 LE. The patch is dependent on the first patch in bugzilla 334,384 followed by the second patch in bugzilla 334,834 Reproducible: Always
Created attachment 86657 [details] PPC LE testcase fixup patch
Attached patch
acked. I reviewed and tested this patch.
Created attachment 87032 [details] Updated PPC LE testcase fixup patch Updated none/tests/ppc32/Makefile.am to inclue the file round.stdout.exp-RM-fix which was missing
See bug 334834 for initial comments about the patch sequence (that is, bug 334384 (prelims), bug 334834 (implementation) and bug 334836 (test cases).
(In reply to comment #4) > Created attachment 87032 [details] > Updated PPC LE testcase fixup patch memcheck/tests/atomic_incs.c Why do the -le cases need their own code? Aren't they the same as the -be cases? On the whole it would be nice if there was less duplication of output files. Especially for the integer/FP/Altivec non-memory instructions, for which, presumably, the endianness is irrelevant. How much effort would it be to remove some of that duplication?
(forgot to say): but on the whole it looks OK.
After applying patch 1 and patch 2, this one doesn't apply completely cleanly. - The none/tests/ppc32/ldst_multiple.c change was already done independently in current svn. - The memcheck/tests/atomic_incs.c tests/Makefile.am tests/check_isa-2_06_cap tests/check_isa-2_07_cap tests/is_ppc64_BE.c tests/power_insn_available.c changes already came in the earlier 2 patches. After applying all 3 patches there are still two places that use VGP_ppc64_linux. - The ifunc_wrapper in coregrind/vg_preloaded.c which is new in svn. Should that use #if defined(VGP_ppc64be_linux) or is there a better way to determine when function descriptors are used? - none/tests/ppc32/jm-insns.c got adds a #if defined(VGP_ppc64_linux) #elif defined(VGP_ppc64le_linux) pair. The first should be #if defined(VGP_ppc64be_linux)
Created attachment 87866 [details] Updated PPC64 LE support patch to address feedback from Mark Wielaard Updated the patch to move the testsuite changes noted in Mark's comments, see bugzilla 33834 to this patch.
On Sat, 2014-07-19 at 00:25 +0000, Mark Wielaard wrote: > https://bugs.kde.org/show_bug.cgi?id=334836 > > --- Comment #8 from Mark Wielaard <mjw@redhat.com> --- > After applying patch 1 and patch 2, this one doesn't apply completely cleanly. > - The none/tests/ppc32/ldst_multiple.c change was already done independently in > current svn. > - The memcheck/tests/atomic_incs.c tests/Makefile.am tests/check_isa-2_06_cap > tests/check_isa-2_07_cap tests/is_ppc64_BE.c tests/power_insn_available.c > changes already came in the earlier 2 patches. > > After applying all 3 patches there are still two places that use > VGP_ppc64_linux. > > - The ifunc_wrapper in coregrind/vg_preloaded.c which is new in svn. Should > that use #if defined(VGP_ppc64be_linux) or is there a better way to determine > when function descriptors are used? > - none/tests/ppc32/jm-insns.c got adds a #if defined(VGP_ppc64_linux) #elif > defined(VGP_ppc64le_linux) pair. The first should be #if > defined(VGP_ppc64be_linux) > Mark: I updated the three patches in > https://bugs.kde.org/show_bug.cgi?id=334384 Patch 1 > > https://bugs.kde.org/show_bug.cgi?id=334834 Patch 2 > > https://bugs.kde.org/show_bug.cgi?id=334836 Patch 3 to address the comments you provided. The patches were forward ported to the latest code tree. Please note, I have been working with Julian on making the endianess a dynamic parameter rather then a #define. The patches will be updated again when this work is completed. Thanks for the feedback. Carl Love
Created attachment 88019 [details] Updated PPC64 LE support patch The patch was updated to address the previous comments from Julian.
Patch committed. Valgrind commit 14240, no VEX commit.
There are two copies of the round test in none/tests/ppc32/round.c and none/tests/ppc64/round.c. The two source files should be identical. The LE functional test commit updated the round.c test for ppc64 but was missing the ppc32 round updates. The round.c test was updated to fix an issue where we were getting different outputs depending on the compiler. The output is now consistent for the compilers allowing the removal of the additional expect files for ppc32 and ppc64. The commit number is valgrind 14278. No VEX commit was made.