Subject: bug#63333: [bug-diffutils] bug#63333: [PATCH] Add hurd-amd64 support

From: Jim Meyering <[email-masked]>
Date: Mon, 8 May 2023 12:30:49 +0200

On Sat, May 6, 2023 at 8:34 PM Samuel Thibault
<[email-masked]> 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.