aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/sparc/linux64.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2005-07-06 09:49:05 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2005-07-06 09:49:05 +0200
commit8ec11fe9b8b04468e81549ca68d5e70912b8f6dc (patch)
tree8ca6fd41c47572b47720e13f43cf054b3a1a38b9 /gcc/config/sparc/linux64.h
parent9da4058c1454b279f0b5791100105bf7a6734e9d (diff)
downloadgcc-8ec11fe9b8b04468e81549ca68d5e70912b8f6dc.zip
gcc-8ec11fe9b8b04468e81549ca68d5e70912b8f6dc.tar.gz
gcc-8ec11fe9b8b04468e81549ca68d5e70912b8f6dc.tar.bz2
sparc.h (sparc_compare_emitted): New extern.
* 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. From-SVN: r101653
Diffstat (limited to 'gcc/config/sparc/linux64.h')
-rw-r--r--gcc/config/sparc/linux64.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
index a331dfc..82860fe 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