Project

General

Profile

Actions

Bug #19386

closed

arm_acle.h not found gcc 4.8.5 CentOS/RHEL, breaks build

Added by Dan Mick about 7 years ago. Updated about 7 years ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
build
Target version:
-
% Done:

0%

Source:
Development
Tags:
Backport:
Regression:
No
Severity:
2 - major
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

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.

Actions

Also available in: Atom PDF