Bug #19386
arm_acle.h not found gcc 4.8.5 CentOS/RHEL, breaks build
Start date:
03/24/2017
Due date:
% Done:
0%
Source:
Development
Tags:
Backport:
Regression:
No
Severity:
2 - major
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
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.
History
#1 Updated by Dan Mick almost 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
#2 Updated by Dan Mick almost 2 years ago
- Description updated (diff)
#3 Updated by Dan Mick almost 2 years ago
- Subject changed from arm_acle.h not found gcc 4.5.8 CentOS/RHEL, breaks build to arm_acle.h not found gcc 4.8.5 CentOS/RHEL, breaks build
- Description updated (diff)
#4 Updated by Dan Mick almost 2 years ago
- Description updated (diff)
#5 Updated by Dan Mick almost 2 years ago
- Description updated (diff)
#6 Updated by Dan Mick almost 2 years ago
- Status changed from In Progress to Resolved