arm_acle.h not found gcc 4.8.5 CentOS/RHEL, breaks build
The cmake detection for compiler intrinsics for CRC and CRYPTO fails for gcc 4.8.5 on aarch64; gcc accepts the -march=armv8+crc+crypto, but there are no __builtin_aarch64_crc* routines and no arm_acle.h; thus, the compile fails, because the include for arm_acle.h is conditioned on the -march support flag.
The ACLE specification says that one can test for presence of arm_acle.h with __ARM_ACLE, and indeed it is not set on this compiler, but it's also not set on gcc 5.4.0 on Ubuntu Xenial, so apparently gcc is not reliable wrt ACLE. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70974
Thus, enhance the test for CRC intrinsics to first test for the -march support but then also test for the actual symbol definition.
#1 Updated by Dan Mick about 2 years ago
- Subject changed from arm_acle.h not found gcc 4.5.8 CentOS/RHEL to arm_acle.h not found gcc 4.5.8 CentOS/RHEL, breaks build
- Category set to build
- Status changed from New to In Progress
- Assignee set to Dan Mick
- Priority changed from Normal to High
- Source set to Development
- Severity changed from 3 - minor to 2 - major