Bug #20109
closedsrc/common/crc32c_ppc_asm.s ppc64le build break
0%
Description
It looks like there is a build break on ppc64le architecture associated with a recent change. The error message looks like this ...
[ 51%] ?[32mBuilding ASM object src/CMakeFiles/common-objs.dir/common/crc32c_ppc_asm.s.o?[0m
/home/ubuntu/ceph/kestrels.1/ceph/src/common/crc32c_ppc_asm.s: Assembler messages:
/home/ubuntu/ceph/kestrels.1/ceph/src/common/crc32c_ppc_asm.s:84: Error: unrecognized opcode: `func_start(__crc32_vpmsum)'
/home/ubuntu/ceph/kestrels.1/ceph/src/common/crc32c_ppc_asm.s:127: Error: unrecognized opcode: `mtvrd(v8,'
/home/ubuntu/ceph/kestrels.1/ceph/src/common/crc32c_ppc_asm.s:200: Error: unrecognized opcode: `vperm(v16,v16,v16,byteswap)'
/home/ubuntu/ceph/kestrels.1/ceph/src/common/crc32c_ppc_asm.s:201: Error: unrecognized opcode: `vperm(v17,v17,v17,byteswap)'
This occurs because someone renamed the file src/common/crc32c_ppc_asm.S to .s and now gcc doesn't accept that as an assembly file.
git log --follow -p crc32c_ppc_asm.s | pg
commit e1c3985148869c55b3725e208ec3bc5acf5fceae
Author: Bassam Tabbara <bassam.tabbara@quantum.com>
Date: Wed May 17 17:41:16 2017 -0700
cmake: workaound ccache issue with .S assembly files
when building with -DWITH_CCACHE=ON recent versions of ccache
(for example 3.3.3) seem to mangle object files from the cache
for source files that have a .S extension. This seems similar
but unrelated to PR #14633. The workaround here is to rename .S
files to .s (lower case).
Signed-off-by: Bassam Tabbara <bassam.tabbara@quantum.com>
Here is the url for the merge of the above commit:
https://github.com/ceph/ceph/commit/e1c3985148869c55b3725e208ec3bc5acf5fceae
Here is the url for the pull request of the above commit:
https://github.com/ceph/ceph/pull/15142