Hi Jeffrey,


----- Jeffrey Walton <[email protected]> a écrit :
> 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.

openSUSE Leap 42.1 is discontinued. Please use Leap 15.0 (the latest Leap 
version) or openSUSE Tumbleweed, the rolling release, with latest software, 
including latest kernel.
Tumbleweed ISO: http://download.opensuse.org/ports/aarch64/tumbleweed/iso/
or:
Leap 15.0 ISO: 
http://download.opensuse.org/ports/aarch64/distribution/leap/15.0/iso/

> 
> 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?

If you use a recent version of openSUSE, GCC should provide the arm_acle.h 
file. I verified it on Tumbleweed, with GCC7 and GCC8.

Guillaume

> 
> 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: [email protected]
> To contact the owner, e-mail: [email protected]
> 

--
To unsubscribe, e-mail: [email protected]
To contact the owner, e-mail: [email protected]

Reply via email to