On 1/5/22 06:23, Richard Henderson wrote: > Brown bag time: offset 0 from esp is the return address, > offset 4 is the first argument. > > Fixes: d7478d4229f0 ("common-user: Fix tail calls to > safe_syscall_set_errno_tail") > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > --- > > Ho hum. I'm disappointed that our CI didn't catch this, > despite cross-i386-user. And I'm disappointed that I > didn't run a full manual build on an i386 vm to catch > it myself. I plan on committing this directly.
Sorry for missing this myself too while reviewing, x86 is my weakness. Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> > --- > common-user/host/i386/safe-syscall.inc.S | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/common-user/host/i386/safe-syscall.inc.S > b/common-user/host/i386/safe-syscall.inc.S > index 9c45e56e480..db2ed098394 100644 > --- a/common-user/host/i386/safe-syscall.inc.S > +++ b/common-user/host/i386/safe-syscall.inc.S > @@ -120,7 +120,7 @@ safe_syscall_end: > pop %ebp > .cfi_adjust_cfa_offset -4 > .cfi_restore ebp > - mov %eax, (%esp) > + mov %eax, 4(%esp) > jmp safe_syscall_set_errno_tail > > .cfi_endproc