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/x86 | |
parent | 964d15a007d7fb1258f2ad7c8cf4afcfb9a65719 (diff) | |
download | glibc-29d4591b07a4da53320e949557c6946c62c26bde.tar glibc-29d4591b07a4da53320e949557c6946c62c26bde.tar.gz glibc-29d4591b07a4da53320e949557c6946c62c26bde.tar.bz2 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/x86')
-rw-r--r-- | sysdeps/mach/x86/thread_state.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sysdeps/mach/x86/thread_state.h b/sysdeps/mach/x86/thread_state.h index 8c419515f9..e237e46cb2 100644 --- a/sysdeps/mach/x86/thread_state.h +++ b/sysdeps/mach/x86/thread_state.h @@ -34,12 +34,13 @@ #define PC rip #define SP ursp #define SYSRETURN rax +#define MACHINE_THREAD_STATE_FIX_NEW(ts) do { \ + asm ("mov %%cs, %w0" : "=q" ((ts)->cs)); \ +} while(0) #else #define PC eip #define SP uesp #define SYSRETURN eax -#endif - #define MACHINE_THREAD_STATE_FIX_NEW(ts) do { \ asm ("mov %%cs, %w0" : "=q" ((ts)->cs)); \ asm ("mov %%ds, %w0" : "=q" ((ts)->ds)); \ @@ -47,6 +48,7 @@ asm ("mov %%fs, %w0" : "=q" ((ts)->fs)); \ asm ("mov %%gs, %w0" : "=q" ((ts)->gs)); \ } while(0) +#endif struct machine_thread_all_state { |