|
From: Julian S. <js...@ac...> - 2012-03-17 20:49:42
|
On Saturday, March 17, 2012, Florian Krohm wrote: > > trunk/memcheck/tests/test-plo-no.stderr.exp-le32 > > trunk/memcheck/tests/test-plo-no.stderr.exp-le64 > > trunk/memcheck/tests/test-plo-no.stdout.exp > > trunk/memcheck/tests/test-plo-no.vgtest > > trunk/memcheck/tests/test-plo-yes.stderr.exp-le32 > > trunk/memcheck/tests/test-plo-yes.stderr.exp-le64 > > trunk/memcheck/tests/test-plo-yes.stdout.exp > > trunk/memcheck/tests/test-plo-yes.vgtest > > trunk/memcheck/tests/test-plo.c > > The test-plo-yes version of this testcase fails on big endian platforms. > Can you adapt it easily for big-endian ? Er, probably, although it would require figuring out how to do this strlen-based-on-carry-bit-propagation game for big endian words instead of little endian ones. Or [probably simpler] write a routine to do swapping of endianness for a 64 bit word, using shifts, ands and ors, which Memcheck should track exactly. Then we can use the existing strlen routine. I had anticipated that this would require different outputs on big endian platforms, hence the -le32/-le64 suffixes. But now I think of it, if we use a byte swap routine in the big endian case, it should then work the same. J |