IBM POWER PPC64 now supports Big and Little Endian. Valgind currently only supports the Big Endian for PPC64. This bugzilla is for the first patch in a series to add the Little Endian support for PPC64 to Valgrind. Reproducible: Always
Created attachment 86474 [details] Initial PPC64 LE support patch This patch adds the #if for ppc64le to the various files that do not require any additional changes. The next patch will add the needed source code changes.
I have reviewed and ack the attached "Initial PPC64 LE support patch".
Created attachment 86784 [details] Initial PPC64 LE support patch, updated
Created attachment 86994 [details] Initial PPC64LE support patch, updated to upstream code base as of 6/2/14 Forward ported patch to the 6/2/14 code base. No functional changes
See bug 334834 for initial comments about the patch sequence (that is, bug 334384 (prelims), bug 334834 (implementation) and 334836 (test cases).
Created attachment 87312 [details] updated PPC64 Little endian pre patch This updated patch addresses the naming issues that Julian mentioned about the patches. See comments in https://bugs.kde.org/show_bug.cgi?id=334834. This updated patch changes the existing VGA_ppc64 to VGA_ppc64be for Big Endian specific code. The #define VGA_ppc64le is introduced for the Little Endian code. Note there are no generic #defines for BE and LE. The patch ensures that the function names, #defines and variables use ppc64 or PPC64 for things that are common to BE and LE. The name ppc64be and PPC64BE is used for BE specific code. Similarly ppc64le and PPC64LE is for LE spcific code. The term ppc64 and PPC64 is for code that is common to BE and LE. The LE #defines were added for the code that is common to LE and BE.
Created attachment 87400 [details] Updated PPC64 LE support patch, fixed a couple of typos Updated patch, I found a couple of typos that needed fixing.
(In reply to comment #7) > Created attachment 87400 [details] Looks fine, only very minor comments. include/valgrind.h The comment line /* ------------------------ ppc64-linux ------------------------ */ didn't get "be"'d. (happens again further down) tests/check_isa-2_06_cap -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +DIR="$( cd "$( dirname "$0" )" && pwd )" What's the significance of the change from "${BASH_SOURCE[0]}" to "$0" ?
Created attachment 87648 [details] Updated PPC64 LE support patch to address Julian's comments The edits to add be was done. > What's the significance of the change from "${BASH_SOURCE[0]}" to "$0" ? The change was made because we found that the use of BASH_SOURCE is not supported across all shells so the code was changed to $0 which is supported accross the various shells. In general, the use of the BASH_* variables is not portable.
Created attachment 87864 [details] Updated PPC64 LE support patch to address feedback from Mark Wielaard Mark noted that the third patch in the series for adding the LE functional tests had some fixes that were done in the previous patches but should have been in the last patch. This patch has been updated to move the test chages to the third patch (https://bugs.kde.org/show_bug.cgi?id=334836) which adds the test case changes.
Created attachment 88017 [details] Updated PPC64 LE support patch to work with Julian's Endian patches The patch was reworked to work with the trunk changes for endian support.
Created attachment 88152 [details] Updated PPC64 LE support patch to work with Julian's Endian patches The patch has been updated to the Valgrind code tree as of Aug 7, 2014 in preparation for comitting.
Patch committed. Revision 14238 Note patch does not touch the VEX code.