]> git.pld-linux.org Git - packages/gcc.git/commitdiff
- tune stack protector ABI for linux kernel cmodel.
authorPaweł Sikora <pluto@pld-linux.org>
Wed, 16 Aug 2006 21:41:29 +0000 (21:41 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    gcc-pr28281.patch -> 1.1.2.1

gcc-pr28281.patch [new file with mode: 0644]

diff --git a/gcc-pr28281.patch b/gcc-pr28281.patch
new file mode 100644 (file)
index 0000000..dc0774c
--- /dev/null
@@ -0,0 +1,30 @@
+--- gcc-4_1-branch/gcc/config/i386/i386.md.orig        2006-08-16 22:50:41.692366000 +0200
++++ gcc-4_1-branch/gcc/config/i386/i386.md     2006-08-16 22:53:01.677114500 +0200
+@@ -20220,7 +20220,12 @@
+    (set (match_scratch:DI 2 "=&r") (const_int 0))
+    (clobber (reg:CC FLAGS_REG))]
+   "TARGET_64BIT"
+-  "mov{q}\t{%%fs:%P1, %2|%2, QWORD PTR %%fs:%P1}\;mov{q}\t{%2, %0|%0, %2}\;xor{l}\t%k2, %k2"
++  {  
++     if (ix86_cmodel != CM_KERNEL)
++        return "mov{q}\t{%%fs:%P1, %2|%2, QWORD PTR %%fs:%P1}\;mov{q}\t{%2, %0|%0, %2}\;xor{l}\t%k2, %k2";
++     else 
++        return "mov{q}\t{%%gs:%P1, %2|%2, QWORD PTR %%gs:%P1}\;mov{q}\t{%2, %0|%0, %2}\;xor{l}\t%k2, %k2";
++  }
+   [(set_attr "type" "multi")])
+ (define_expand "stack_protect_test"
+@@ -20288,7 +20293,12 @@
+                   UNSPEC_SP_TLS_TEST))
+    (clobber (match_scratch:DI 3 "=r"))]
+   "TARGET_64BIT"
+-  "mov{q}\t{%1, %3|%3, %1}\;xor{q}\t{%%fs:%P2, %3|%3, QWORD PTR %%fs:%P2}"
++  {
++     if (ix86_cmodel != CM_KERNEL)
++        return "mov{q}\t{%1, %3|%3, %1}\;xor{q}\t{%%fs:%P2, %3|%3, QWORD PTR %%fs:%P2}";
++     else
++        return "mov{q}\t{%1, %3|%3, %1}\;xor{q}\t{%%gs:%P2, %3|%3, QWORD PTR %%gs:%P2}";
++  }
+   [(set_attr "type" "multi")])
+ (include "sse.md")
This page took 0.035884 seconds and 4 git commands to generate.