Stack 0x10 aligned at all times

modified:   stub/src/arm64-expand.S
This commit is contained in:
John Reiser 2024-11-30 13:57:46 -08:00
parent bd251c0dbd
commit 8327c390cf

View File

@ -109,13 +109,14 @@ decompress: // (src *, cpr_len, dst *, &dstlen);
// NYI: eof_n2b, eof_n2d, eof_n2e should be unified.
eof_n2b: // .globl eof_n2b .type eof_n2b,%function
eof: // MATCH_90 end of a compressed extent; need sync_cache after unfilter
ldr x3,[sp],#NBPW // &input_eof
ldr x3,[sp,#0*NBPW] // &input_eof
sub x0,src,x3 // src -= eof; // return 0: good; else: bad
ldr x1,[sp],#NBPW // original dst
ldr x1,[sp,#1*NBPW] // original dst
sub dst,dst,x1 // dst -= original dst; actual length of output
ldr x1,[sp],#NBPW // &dstlen
ldr x1,[sp,#2*NBPW] // &dstlen
str dstw,[x1] // actual length used at dst XXX: 4GB
ldr lr,[sp],#NBPW
ldr lr,[sp,#3*NBPW]
add sp,sp,#4*NBPW
ret