gnu.h (TARGET_THREAD_SSP_OFFSET): Define.
authorSvante Signell <svante.signell@gmail.com>
Sat, 12 Jan 2019 21:17:56 +0000 (21:17 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Sat, 12 Jan 2019 21:17:56 +0000 (21:17 +0000)
* config/i386/gnu.h (TARGET_THREAD_SSP_OFFSET): Define.
(TARGET_CAN_SPLIT_STACK): Define.
(TARGET_THREAD_SPLIT_STACK_OFFSET): Define.

From-SVN: r267886

gcc/ChangeLog
gcc/config/i386/gnu.h

index 7126508a3a43488966acf2cff6cf951debeee3c3..a2735a5e4c98d2b495ae662f2ecb9bffdca956bd 100644 (file)
@@ -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.
index 69d9e5fee2777b6a8a9bb572fa70c317ab1690d9..9d1dcde1c999b8d0cb79eb8a1dfed860e2bf6b79 100644 (file)
@@ -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