Add x32 support to STACK_CHK_GUARD

This commit is contained in:
H.J. Lu 2012-05-11 16:31:34 -07:00
parent d3c6600440
commit 9fb1a21f4d
2 changed files with 8 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2012-05-11 H.J. Lu <hongjiu.lu@intel.com>
* elf/stackguard-macros.h (STACK_CHK_GUARD) [__x86_64__]: Use
"%c1" with "i" (offsetof (tcbhead_t, stack_guard)).
2012-05-11 H.J. Lu <hongjiu.lu@intel.com>
* elf/tls-macros.h (TLS_LE): Use mov instead of movq to load

View File

@ -5,7 +5,9 @@
({ uintptr_t x; asm ("movl %%gs:0x14, %0" : "=r" (x)); x; })
#elif defined __x86_64__
# define STACK_CHK_GUARD \
({ uintptr_t x; asm ("movq %%fs:0x28, %0" : "=r" (x)); x; })
({ uintptr_t x; \
asm ("mov %%fs:%c1, %0" : "=r" (x) \
: "i" (offsetof (tcbhead_t, stack_guard))); x; })
#elif defined __powerpc64__
# define STACK_CHK_GUARD \
({ uintptr_t x; asm ("ld %0,-28688(13)" : "=r" (x)); x; })