Project

General

Profile

Bug #48681

Textrel in aarch64 libec_isa.so

Added by Duncan Bellamy over 3 years ago. Updated about 3 years ago.

Status:
Duplicate
Priority:
Normal
Assignee:
-
Category:
-
Target version:
% Done:

0%

Source:
Community (user)
Tags:
Backport:
Regression:
Yes
Severity:
1 - critical
Reviewed:
Affected Versions:
ceph-qa-suite:
rados
Pull request ID:
Crash signature (v1):
Crash signature (v2):

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

Duplicates RADOS - Bug #48669: libec_isa.so with TEXTREL for ceph-v15.2.8 on arrch64 New

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

Would it make sense to close this as a duplicate of #48669 for the following reasons:

  • #48669 was opened before this one
  • the description of #48669 contains more information
  • this bug is in the wrong project (rgw)

?

#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.

Also available in: Atom PDF