Hi Everyone,
I'm working on the GCC Compile Farm. I'm on machine
gcc118.fsffrance.org, which is an ARMv8.a machine. The cpu offers CRC
and Crypto. The machine runs openSUSE Leap 42.1.
When I attempt to engage the CRC and Crypto extensions the program
fails to compile. CRC is shown below, but AES and SHA result in
similar failures.
The unusual thing is, there is no <arm_acle.h> header. Missing
<arm_acle.h> is common for Android and Apple, but Linux usually
supplies it.
Does anyone know how to enable the CRC and Crypto extensions on openSUSE?
Thanks in advance.
======== ======== ======== ======== ======== ========
== CPU info ==
cat /proc/cpuinfo
processor : 0 [nid: 0]
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd07
CPU revision : 2
...
== Linux ==
lsb_release -a
LSB Version: n/a
Distributor ID: SUSE LINUX
Description: openSUSE Leap 42.1 (aarch64)
Release: 42.1
Codename: n/a
== GCC ==
gcc --version
gcc (SUSE Linux) 4.8.5
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
== No ACLE ==
cat TestPrograms/test_acle.cxx
#include
<arm_acle.h>
int main(int argc, char* argv[])
{
return 0;
}
g++ -march=armv8-a -O0 TestPrograms/test_acle.cxx
TestPrograms/test_acle.cxx:1:22: fatal error: arm_acle.h: No such file
or directory
#include <arm_acle.h>
^
compilation terminated.
== No CRC ==
cat TestPrograms/test_crc.cxx
#include
<arm_neon.h>
#include <stdint.h>
#if (CRYPTOPP_ARM_ACLE_AVAILABLE)
# include <arm_acle.h>
#endif
int main(int argc, char* argv[])
{
uint32_t w=0xffffffff;
w = __crc32w(w,w);
w = __crc32h(w,w);
w = __crc32b(w,w);
return 0;
}
g++ -march=armv8-a -DCRYPTOPP_ARM_ACLE_AVAILABLE=0 -O0
TestPrograms/test_crc.cxx
TestPrograms/test_crc.cxx: In function ‘int main(int,
char**)’:
TestPrograms/test_crc.cxx:15:18: error: ‘__crc32w’ was not declared in
this scope
w = __crc32w(w,w);
^
TestPrograms/test_crc.cxx:16:18: error: ‘__crc32h’ was not declared in
this scope
w = __crc32h(w,w);
^
...
--
To unsubscribe, e-mail: opensuse-arm+unsubscribe(a)opensuse.org
To contact the owner, e-mail: opensuse-arm+owner(a)opensuse.org