diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-07-06 07:49:05 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-07-06 07:49:05 +0000 |
commit | fc5cceaf13d3d1632dd9a5a294f77ab7d9384c2a (patch) | |
tree | 8ca6fd41c47572b47720e13f43cf054b3a1a38b9 /gcc/config/sparc/linux64.h | |
parent | ba8d970212c49d9a425ce7678cd888dcc14efbea (diff) | |
download | gcc-fc5cceaf13d3d1632dd9a5a294f77ab7d9384c2a.tar.gz |
* config/sparc/sparc.h (sparc_compare_emitted): New extern.
* config/sparc/sparc.c (sparc_compare_emitted): New variable.
(gen_compare_reg): If sparc_compare_emitted is set, clear it
and return its previous value.
(emit_v9_brxx_insn): Assert sparc_compare_emitted is NULL.
* config/sparc/sparc.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New
constants.
(stack_protect_set, stack_protect_test): New expanders.
(stack_protect_setsi, stack_protect_setdi, stack_protect_testsi,
stack_protect_testdi): New insns.
* config/sparc/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
* config/sparc/linux64.h (TARGET_THREAD_SSP_OFFSET): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101653 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/sparc/linux64.h')
-rw-r--r-- | gcc/config/sparc/linux64.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h index a331dfc626c..82860fea24e 100644 --- a/gcc/config/sparc/linux64.h +++ b/gcc/config/sparc/linux64.h @@ -363,3 +363,9 @@ do { \ #undef NEED_INDICATE_EXEC_STACK #define NEED_INDICATE_EXEC_STACK 1 + +#ifdef TARGET_LIBC_PROVIDES_SSP +/* sparc glibc provides __stack_chk_guard in [%g7 + 0x14], + sparc64 glibc provides it at [%g7 + 0x28]. */ +#define TARGET_THREAD_SSP_OFFSET (TARGET_ARCH64 ? 0x28 : 0x14) +#endif |