aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSvante Signell <svante.signell@gmail.com>2019-01-12 21:17:56 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2019-01-12 21:17:56 +0000
commit8d5d3edddf70a8683c10e000817e8d2cd5b8c974 (patch)
treec90c3f0c93d265c4af9559f27ad5863aea666791
parent865f11b6191458ebff136400e4b32c1adc7f575c (diff)
downloadgcc-8d5d3edddf70a8683c10e000817e8d2cd5b8c974.zip
gcc-8d5d3edddf70a8683c10e000817e8d2cd5b8c974.tar.gz
gcc-8d5d3edddf70a8683c10e000817e8d2cd5b8c974.tar.bz2
gnu.h (TARGET_THREAD_SSP_OFFSET): Define.
* config/i386/gnu.h (TARGET_THREAD_SSP_OFFSET): Define. (TARGET_CAN_SPLIT_STACK): Define. (TARGET_THREAD_SPLIT_STACK_OFFSET): Define. From-SVN: r267886
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/gnu.h15
2 files changed, 15 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7126508..a2735a5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2019-01-12 Svante Signell <svante.signell@gmail.com>
+
+ * config/i386/gnu.h (TARGET_THREAD_SSP_OFFSET): Define.
+ (TARGET_CAN_SPLIT_STACK): Define.
+ (TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
+
2019-01-05 Jan Hubicka <hubicka@ucw.cz>
* params.def (inline-unit-growth): Set to 40.
diff --git a/gcc/config/i386/gnu.h b/gcc/config/i386/gnu.h
index 69d9e5f..9d1dcde 100644
--- a/gcc/config/i386/gnu.h
+++ b/gcc/config/i386/gnu.h
@@ -37,11 +37,14 @@ along with GCC. If not, see <http://www.gnu.org/licenses/>.
#ifdef TARGET_LIBC_PROVIDES_SSP
-/* Not supported yet. */
-# undef TARGET_THREAD_SSP_OFFSET
-
-/* Not supported yet. */
-# undef TARGET_CAN_SPLIT_STACK
-# undef TARGET_THREAD_SPLIT_STACK_OFFSET
+/* i386 glibc provides __stack_chk_guard in %gs:0x14. */
+#define TARGET_THREAD_SSP_OFFSET 0x14
+/* We only build the -fsplit-stack support in libgcc if the
+ assembler has full support for the CFI directives. */
+#if HAVE_GAS_CFI_PERSONALITY_DIRECTIVE
+#define TARGET_CAN_SPLIT_STACK
+#endif
+/* We steal the last transactional memory word. */
+#define TARGET_THREAD_SPLIT_STACK_OFFSET 0x30
#endif