Bug #48681
Textrel in aarch64 libec_isa.so
0%
Description
Build fails for aarch64 on alpine Linux because Textrel is found in libec_isa.so
Compiling the code in src/isa-l/erasure_code/aarch64 into a shared library with cmake and using scanelf -qT returns no errors
Related issues
History
#1 Updated by Rixin Luo over 3 years ago
hi Duncan, the TEXTREL is casued by the consant in several funcs. the one is https://github.com/intel/isa-l/blob/master/erasure_code/aarch64/gf_3vect_mad_neon.S#L380, but I could not finding a solution to replace constant, it may be need time to solve.
#2 Updated by Duncan Bellamy over 3 years ago
rosin luo wrote:
hi Duncan, the TEXTREL is casued by the consant in several funcs. the one is https://github.com/intel/isa-l/blob/master/erasure_code/aarch64/gf_3vect_mad_neon.S#L380, but I could not finding a solution to replace constant, it may be need time to solve.
Hi,
Thanks, I had a go myself and found it stopped if I removed the =
https://github.com/ceph/isa-l/pull/2
But I wasn’t sure if this was correct as I looked around but struggled to find info on aarch64 assembler and gcc, would it create the correct relocation info?
Thanks,
Duncan
#3 Updated by Rixin Luo over 3 years ago
It is no correct, the `const_tbl` is the address of the constant, which must be loaded to register. It will not loaded the right value when removed the =
#4 Updated by Duncan Bellamy over 3 years ago
If it is a constant could it be loaded from a c include file?
https://modexp.wordpress.com/2018/10/30/arm64-assembly/#symcon
Not sure how portable that is, if it would work
#5 Updated by Nathan Cutler about 3 years ago
- Duplicates Bug #48669: libec_isa.so with TEXTREL for ceph-v15.2.8 on arrch64 added
#6 Updated by Nathan Cutler about 3 years ago
#7 Updated by Duncan Bellamy about 3 years ago
I don’t mind, I did search for textrel before opening this and nothing showed up. I also saw it was in the wrong project a while after I opened it but couldn’t see how to change it.
#8 Updated by Nathan Cutler about 3 years ago
- Project changed from rgw to Ceph
- Status changed from New to Duplicate
#9 Updated by Nathan Cutler about 3 years ago
Duncan Bellamy wrote:
I don’t mind, I did search for textrel before opening this and nothing showed up.
Sounds like the search function might be case-sensitive by default.
Nope, both issues are coming up in the search now: https://tracker.ceph.com/projects/ceph/search?utf8=%E2%9C%93&issues=1&q=textrel
#10 Updated by Rixin Luo about 3 years ago
I have created a PR to fix this. please help to review.
https://github.com/intel/isa-l/pull/172
#11 Updated by Duncan Bellamy about 3 years ago
Ok thanks, will do.
Have created a patch and test build for alpine, but seems to be some other build issues from dependencies. Will let you know when got it building again.
#12 Updated by Duncan Bellamy about 3 years ago
It successfully builds on aarch64 and passes the alpine tests now, thanks.
#13 Updated by James Page about 3 years ago
https://bugs.launchpad.net/ubuntu/+source/ceph/+bug/1917414 might be linked to this issue as this started occurring with the introduction of isa-l for ARM64 in Ubuntu
#14 Updated by Rixin Luo about 3 years ago
this bug has been solved as https://github.com/intel/isa-l/pull/172 merged. It need to wait isa-l release an new version and then update ceph/isa-l.