Open chenxuqiang opened 1 year ago
Thanks for reporting @chenxuqiang. Anyone from ARM that can review this issue and issue #124? Also, @chenxuqiang, feel free to submit a PR with these changes.
This issue relates to gcc (or GNU as)'s default behavior actually. It's not a SVE assembly issue. I explained in https://github.com/intel/isa-l_crypto/pull/127#issuecomment-1827812405
I would suggest to add '.text' declaration explicitly in all .S files where it's needed.
@chenxuqiang, could you look into the other .S files?
Thanks @docularxu @pablodelara , I'm going to fix it before April 7th.
Thanks @chenxuqiang!
@chenxuqiang We are looking at a release next month, so could you look into this as soon as you can? Thanks!
I found that all SVE functions cannot be debugged with GDB. This is because the code segment identifier of
.text
is missing in the SVE function code implementation. As a result, GDB cannot find executable assembly code. You can use theobjdump -d
to verify this problem:If we add
.text
to the sm3_mb/aarch64/sm3_mb_sve.S:We can see:
and use GDB Debug this function:
So I think we should add
.text
for all SVE functions, including:md5_mb_sve.S
,mh_sha1_block_sve.S
,sm3_mb_sve.S
. and and should be followed by#inlude "xxxxx.S"
.