summaryrefslogtreecommitdiff
path: root/debian/patches/src_gcc_config_i386_gnu.h.diff
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/src_gcc_config_i386_gnu.h.diff')
-rw-r--r--debian/patches/src_gcc_config_i386_gnu.h.diff25
1 files changed, 25 insertions, 0 deletions
diff --git a/debian/patches/src_gcc_config_i386_gnu.h.diff b/debian/patches/src_gcc_config_i386_gnu.h.diff
new file mode 100644
index 0000000..f9d5e60
--- /dev/null
+++ b/debian/patches/src_gcc_config_i386_gnu.h.diff
@@ -0,0 +1,25 @@
+Index: gcc-6-6.2.1-4.1/src/gcc/config/i386/gnu.h
+===================================================================
+--- gcc-6-6.2.1-4.1.orig/src/gcc/config/i386/gnu.h
++++ gcc-6-6.2.1-4.1/src/gcc/config/i386/gnu.h
+@@ -37,11 +37,14 @@ along with GCC. If not, see <http://www
+
+ #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