Mach actually rather fills the uesp field, not esp.
---
 sysdeps/mach/hurd/i386/trampoline.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sysdeps/mach/hurd/i386/trampoline.c 
b/sysdeps/mach/hurd/i386/trampoline.c
index 4a9cab1332..1777d0769d 100644
--- a/sysdeps/mach/hurd/i386/trampoline.c
+++ b/sysdeps/mach/hurd/i386/trampoline.c
@@ -63,7 +63,7 @@ static void fill_ucontext (ucontext_t *uc, const struct 
sigcontext *sc)
   uc->uc_flags = 0;
   uc->uc_link = NULL;
   uc->uc_sigmask = sc->sc_mask;
-  uc->uc_stack.ss_sp = (__ptr_t) sc->sc_esp;
+  uc->uc_stack.ss_sp = (__ptr_t) sc->sc_uesp;
   uc->uc_stack.ss_size = 0;
   uc->uc_stack.ss_flags = 0;
 
-- 
2.29.2


Reply via email to