Applied, thanks! Sergey Bugaev, le dim. 19 mars 2023 18:09:58 +0300, a ecrit: > This is more correct, if only because these fields are defined as having > the type unsigned int in the Mach headers, so casting them to a signed > int and then back is suboptimal. > > Also, remove an extra reassignment of uesp -- this is another remnant of > the ecx kludge. > > Signed-off-by: Sergey Bugaev <buga...@gmail.com> > --- > sysdeps/mach/hurd/i386/trampoline.c | 13 ++++++------- > 1 file changed, 6 insertions(+), 7 deletions(-) > > diff --git a/sysdeps/mach/hurd/i386/trampoline.c > b/sysdeps/mach/hurd/i386/trampoline.c > index 8f481e79..ab67fb9c 100644 > --- a/sysdeps/mach/hurd/i386/trampoline.c > +++ b/sysdeps/mach/hurd/i386/trampoline.c > @@ -270,24 +270,23 @@ _hurd_setup_sighandler (struct hurd_sigstate *ss, const > struct sigaction *action > > _hurdsig_end_catch_fault (); > > - state->basic.eip = (int) rpc_wait_trampoline; > + state->basic.eip = (uintptr_t) rpc_wait_trampoline; > /* The reply-receiving trampoline code runs initially on the original > user stack. We pass it the signal stack pointer in %ebx. */ > - state->basic.uesp = state->basic.esp; /* Restore mach_msg syscall SP. > */ > - state->basic.ebx = (int) sigsp; > + state->basic.ebx = (uintptr_t) sigsp; > /* After doing the message receive, the trampoline code will need to > update the %eax value to be restored by sigreturn. To simplify > the assembly code, we pass the address of its slot in SCP to the > trampoline code in %ecx. */ > - state->basic.ecx = (int) &scp->sc_eax; > + state->basic.ecx = (uintptr_t) &scp->sc_eax; > } > else > { > - state->basic.eip = (int) trampoline; > - state->basic.uesp = (int) sigsp; > + state->basic.eip = (uintptr_t) trampoline; > + state->basic.uesp = (uintptr_t) sigsp; > } > /* We pass the handler function to the trampoline code in %edx. */ > - state->basic.edx = (int) handler; > + state->basic.edx = (uintptr_t) handler; > > /* The x86 ABI says the DF bit is clear on entry to any function. */ > state->basic.efl &= ~EFL_DF; > -- > 2.39.2 >
-- Samuel --- Pour une évaluation indépendante, transparente et rigoureuse ! Je soutiens la Commission d'Évaluation de l'Inria.