crcutil on ppc

46 views
Skip to first unread message

valn...@gmail.com

unread,
May 8, 2017, 4:46:05 AM5/8/17
to crcutil
Hi All,

Please let know if there crcutil support on ppc arch

Regards,
valnci

Andrew Kadatch

unread,
May 8, 2017, 11:56:16 AM5/8/17
to crc...@googlegroups.com
If PPC is big-endian (afaik it is), the answer is "no". Otherwise crcutil should work out of the box.

--
You received this message because you are subscribed to the Google Groups "crcutil" group.
To unsubscribe from this group and stop receiving emails from it, send an email to crcutil+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

valn...@gmail.com

unread,
May 9, 2017, 5:53:10 AM5/9/17
to crcutil
Hi Andrew, 

Thanks for the quick response.

In my case the ppc is little-endian, i.e. ppc64le. But it doesn't work straightforward. I checked the crc32c_sse4.h and saw that the functions are enclosed in a #if HAVE_I386 || HAVE_AMD64. When I build crcutil code, it gives out error:
examples/interface.cc:311:17: error: ‘Crc32cSSE4’ has not been declared
   return Create(Crc32cSSE4::FixedGeneratingPolynomial(), 0, Crc32cSSE4::FixedDegree(),

Any specific version of crcutil that supports ppc64le ?

Meanwhile, I will build the crcutil removing the #if above.

Regards,
Valnci

valn...@gmail.com

unread,
May 9, 2017, 8:26:18 AM5/9/17
to crcutil
Also, could you please tell me the correct way to run the crcutil tests ?


Andrew Kadatch

unread,
May 9, 2017, 12:39:08 PM5/9/17
to crc...@googlegroups.com
It seems to me that root cause of compilation problems is
definition of either HAVE_I386 or HAVE_AMD64;  obviously,
neither should be defined for power pc.

crcutil does include the tests. When crcutil is built, one of the build
targets is called "unittest". This is exactly what you are looking for.

On Tue, May 9, 2017 at 5:26 AM, <valn...@gmail.com> wrote:
Also, could you please tell me the correct way to run the crcutil tests ?


valn...@gmail.com

unread,
May 16, 2017, 1:48:05 AM5/16/17
to crcutil
Hi Andrew,

I commented out the #if HAVE_I386 || HAVE_AMD64  at line number 25 in code/crc32c_sse4.h--------with this change, the compilation proceeded to conclusion without any failures. I also see there are more checks for HAVE_I386,etc. in code/crc32c_sse4.cc, but they seem to not cause any issues while compilation. Any issues that you see can come up here ?

Further, I built the tests using 'make crcutil_ut' target. The tests also run smoothly without any failures. I'm currently comparing the test logs of crcutil for x86 and ppc64le. I'll let you know the findings.

Regards,
Valencia

valn...@gmail.com

unread,
Jun 7, 2017, 5:13:07 AM6/7/17
to crcutil
Hi Andrew,

Sorry...I couldn't post the findings earlier as I got busy working on another urgent task.

Going through the logs, I have some questions.
 1. I notice that most of the readings from the ppc run have 0 values, however, when compared to x86 logs, i see non-zero values. PFA the logs for your reference. Could you guide me on this issue ?

2. Is there any other way to sanity test the crcutil build ? 

Thanks!
ppc_crcutil_ut.log
x86_crcutil_ut.log
Reply all
Reply to author
Forward
0 new messages