about summary refs log tree commit diff
path: root/sysdeps/mach/x86
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/mach/x86')
-rw-r--r--sysdeps/mach/x86/thread_state.h6
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
   {