On 01.09.23 01:13, Huang, Kai wrote:
encl_body:
/* snipped */
lea encl_op_array(%rip), %rcx
lea __encl_base(%rip), %rax
add (%rcx,%rdx,8),%rax
jmp *%rax
call *%rax
?
ret
Good catch, but this is indeed the code as generated with gcc -Os (for
readability). It seems the compiler choose a JMP over a CALL (as the
stack is untouched and the callee can immediately return to the caller).
Somehow, the compiler still emits a RET after the JMP (which is not
supposed to return here) though. I agree this is unnecessarily confusing
and can simply remove the RET from the commit message.
Best,
Jo