summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoretoh <etoh@openbsd.org>2003-02-21 08:05:56 +0000
committeretoh <etoh@openbsd.org>2003-02-21 08:05:56 +0000
commit032f716c0c305cb132321855fc278d4c42803480 (patch)
tree0c02cc9e0c6fcf0692e9fd9f3986d82ecf67ea2b
parentIn the case of no optimization, fix the problem that the first argument doesn't copy to the region of local variables. (diff)
downloadwireguard-openbsd-032f716c0c305cb132321855fc278d4c42803480.tar.xz
wireguard-openbsd-032f716c0c305cb132321855fc278d4c42803480.zip
mark the top address of inline function frame with integrated flag for the propolice protection
-rw-r--r--gnu/egcs/gcc/integrate.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gnu/egcs/gcc/integrate.c b/gnu/egcs/gcc/integrate.c
index d06fa607733..ece4e1aabb6 100644
--- a/gnu/egcs/gcc/integrate.c
+++ b/gnu/egcs/gcc/integrate.c
@@ -2423,6 +2423,10 @@ copy_rtx_and_substitute (orig, map)
seq = gen_sequence ();
end_sequence ();
+#ifdef FRAME_GROWS_DOWNWARD
+ if (flag_propolice_protection && GET_CODE (seq) == SET)
+ RTX_INTEGRATED_P (SET_SRC (seq)) = 1;
+#endif
emit_insn_after (seq, map->insns_at_start);
return temp;
}