Messages in this thread | | | Date | Fri, 1 Sep 2023 01:26:08 +0200 | Subject | Re: [PATCH v5 08/13] selftests/sgx: Handle relocations in test enclave | From | Jo Van Bulck <> |
| |
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
| |