Project

General

Profile

Actions

Bug #48681

closed

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 1 (1 open0 closed)

Is duplicate of RADOS - Bug #48669: libec_isa.so with TEXTREL for ceph-v15.2.8 on arrch64New

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

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

Actions #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 =

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

Actions #5

Updated by Nathan Cutler over 3 years ago

  • Is duplicate of Bug #48669: libec_isa.so with TEXTREL for ceph-v15.2.8 on arrch64 added
Actions #6

Updated by Nathan Cutler over 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)

?

Actions #7

Updated by Duncan Bellamy over 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.

Actions #8

Updated by Nathan Cutler over 3 years ago

  • Project changed from rgw to Ceph
  • Status changed from New to Duplicate
Actions #9

Updated by Nathan Cutler over 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

Actions #10

Updated by Rixin Luo over 3 years ago

I have created a PR to fix this. please help to review.
https://github.com/intel/isa-l/pull/172

Actions #11

Updated by Duncan Bellamy over 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.

Actions #12

Updated by Duncan Bellamy over 3 years ago

It successfully builds on aarch64 and passes the alpine tests now, thanks.

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

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

Actions

Also available in: Atom PDF