On Sat, May 6, 2023 at 8:34 PM Samuel Thibault <samuel.thiba...@ens-lyon.org> wrote: > This adds SIGSEGV_FAULT_STACKPOINTER for the hurd-amd64 case > > --- ./lib/sigsegv.c.original 2023-05-05 10:45:54.673751100 +0000 > +++ ./lib/sigsegv.c 2023-05-05 10:48:47.903577554 +0000 > @@ -351,6 +351,17 @@ > "old esp, if trapped from user". */ > # define SIGSEGV_FAULT_STACKPOINTER scp->sc_uesp > > +# elif defined __x86_64__ > + > +/* scp points to a 'struct sigcontext' (defined in > + glibc/sysdeps/mach/hurd/x86_64/bits/sigcontext.h). > + The registers of this struct get pushed on the stack through > + gnumach/x86_64/i386/locore.S:trapall. */ > +/* Both sc_rsp and sc_ursp appear to have the same value. > + It appears more reliable to use sc_ursp because it is labelled as > + "old rsp, if trapped from user". */ > +# define SIGSEGV_FAULT_STACKPOINTER scp->sc_ursp > + > # endif > > #endif
Hi Samuel, thanks. This belongs in gnulib, so cc'ing that list.