aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/i386/stackguard-macros.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/i386/stackguard-macros.h')
-rw-r--r--sysdeps/i386/stackguard-macros.h9
1 files changed, 2 insertions, 7 deletions
diff --git a/sysdeps/i386/stackguard-macros.h b/sysdeps/i386/stackguard-macros.h
index 0397629..574a409 100644
--- a/sysdeps/i386/stackguard-macros.h
+++ b/sysdeps/i386/stackguard-macros.h
@@ -1,12 +1,7 @@
#include <stdint.h>
#define STACK_CHK_GUARD \
- ({ uintptr_t x; asm ("movl %%gs:0x14, %0" : "=r" (x)); x; })
+ (*(uintptr_t __seg_gs *) offsetof (tcbhead_t, stack_guard))
#define POINTER_CHK_GUARD \
- ({ \
- uintptr_t x; \
- asm ("movl %%gs:%c1, %0" : "=r" (x) \
- : "i" (offsetof (tcbhead_t, pointer_guard))); \
- x; \
- })
+ (*(uintptr_t __seg_gs *) offsetof (tcbhead_t, pointer_guard))