diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2023-09-28 00:07:18 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2023-09-28 00:10:13 +0200 |
commit | 29d4591b07a4da53320e949557c6946c62c26bde (patch) | |
tree | ae703bab73f6185724e06996ee0c292dacb66d22 /sysdeps/mach/hurd | |
parent | 964d15a007d7fb1258f2ad7c8cf4afcfb9a65719 (diff) | |
download | glibc-29d4591b07a4da53320e949557c6946c62c26bde.tar.gz glibc-29d4591b07a4da53320e949557c6946c62c26bde.tar.xz glibc-29d4591b07a4da53320e949557c6946c62c26bde.zip |
hurd: Drop REG_GSFS and REG_ESDS from x86_64's ucontext
These are useless on x86_64, and __NGREG was actually wrong with them.
Diffstat (limited to 'sysdeps/mach/hurd')
-rw-r--r-- | sysdeps/mach/hurd/x86/trampoline.c | 4 | ||||
-rw-r--r-- | sysdeps/mach/hurd/x86_64/bits/sigcontext.h | 8 |
2 files changed, 3 insertions, 9 deletions
diff --git a/sysdeps/mach/hurd/x86/trampoline.c b/sysdeps/mach/hurd/x86/trampoline.c index 6318c9528a..bc3f15e1e0 100644 --- a/sysdeps/mach/hurd/x86/trampoline.c +++ b/sysdeps/mach/hurd/x86/trampoline.c @@ -79,8 +79,8 @@ static void fill_ucontext (ucontext_t *uc, const struct sigcontext *sc) /* Registers. */ #ifdef __x86_64__ - memcpy (&uc->uc_mcontext.gregs[REG_GSFS], &sc->sc_gs, - (REG_ERR - REG_GSFS) * sizeof (long)); + memcpy (&uc->uc_mcontext.gregs[REG_R8], &sc->sc_r8, + (REG_ERR - REG_R8) * sizeof (long)); #else memcpy (&uc->uc_mcontext.gregs[REG_GS], &sc->sc_gs, (REG_TRAPNO - REG_GS) * sizeof (int)); diff --git a/sysdeps/mach/hurd/x86_64/bits/sigcontext.h b/sysdeps/mach/hurd/x86_64/bits/sigcontext.h index 6396054463..7facc587b8 100644 --- a/sysdeps/mach/hurd/x86_64/bits/sigcontext.h +++ b/sysdeps/mach/hurd/x86_64/bits/sigcontext.h @@ -59,13 +59,7 @@ struct sigcontext } trampoline.c knows this, so it must be changed if this changes. */ -#define sc_i386_thread_state sc_gs /* Beginning of correspondence. */ - /* Segment registers. */ - int sc_gs; - int sc_fs; - int sc_es; - int sc_ds; - +#define sc_i386_thread_state sc_r8 /* Beginning of correspondence. */ long sc_r8; long sc_r9; long sc_r10; |