Commit 643e867f by Uros Bizjak

re PR target/47766 ([x32] -fstack-protector doesn't work)

	PR target/47766
	* doc/md.texi (stack_protect_set): The pattern moves ptr_mode value.
	(stack_protect_test): The pattern compares ptr_mode value.

From-SVN: r177096
parent eaba57fb
2011-08-02 Uros Bizjak <ubizjak@gmail.com>
PR target/47766
* doc/md.texi (stack_protect_set): The pattern moves ptr_mode value.
(stack_protect_test): The pattern compares ptr_mode value.
2011-08-02 Alan Modra <amodra@gmail.com> 2011-08-02 Alan Modra <amodra@gmail.com>
* config/rs6000/rs6000.c (rs6000_emit_prologue): Add REG_CFA_RESTORE * config/rs6000/rs6000.c (rs6000_emit_prologue): Add REG_CFA_RESTORE
...@@ -5,8 +11,7 @@ ...@@ -5,8 +11,7 @@
2011-08-01 H.J. Lu <hongjiu.lu@intel.com> 2011-08-01 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/lzcntintrin.h (__lzcnt64): Replace long with * config/i386/lzcntintrin.h (__lzcnt64): Replace long with long long.
long long.
2011-08-01 Sebastian Pop <sebastian.pop@amd.com> 2011-08-01 Sebastian Pop <sebastian.pop@amd.com>
Joseph Myers <joseph@codesourcery.com> Joseph Myers <joseph@codesourcery.com>
......
...@@ -5557,7 +5557,7 @@ will be emitted, followed by a store of the value to the memory operand. ...@@ -5557,7 +5557,7 @@ will be emitted, followed by a store of the value to the memory operand.
@cindex @code{stack_protect_set} instruction pattern @cindex @code{stack_protect_set} instruction pattern
@item @samp{stack_protect_set} @item @samp{stack_protect_set}
This pattern, if defined, moves a @code{Pmode} value from the memory This pattern, if defined, moves a @code{ptr_mode} value from the memory
in operand 1 to the memory in operand 0 without leaving the value in in operand 1 to the memory in operand 0 without leaving the value in
a register afterward. This is to avoid leaking the value some place a register afterward. This is to avoid leaking the value some place
that an attacker might use to rewrite the stack guard slot after that an attacker might use to rewrite the stack guard slot after
...@@ -5568,7 +5568,7 @@ If this pattern is not defined, then a plain move pattern is generated. ...@@ -5568,7 +5568,7 @@ If this pattern is not defined, then a plain move pattern is generated.
@cindex @code{stack_protect_test} instruction pattern @cindex @code{stack_protect_test} instruction pattern
@item @samp{stack_protect_test} @item @samp{stack_protect_test}
This pattern, if defined, compares a @code{Pmode} value from the This pattern, if defined, compares a @code{ptr_mode} value from the
memory in operand 1 with the memory in operand 0 without leaving the memory in operand 1 with the memory in operand 0 without leaving the
value in a register afterward and branches to operand 2 if the values value in a register afterward and branches to operand 2 if the values
weren't equal. weren't equal.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment