diff options
Diffstat (limited to 'gcc/calls.c')
-rw-r--r-- | gcc/calls.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/calls.c b/gcc/calls.c index d51fbf6331b..4074dbd8bad 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -1444,7 +1444,7 @@ rtx_for_function_call (tree fndecl, tree addr) Mark all register-parms as living through the call, putting these USE insns in the CALL_INSN_FUNCTION_USAGE field. - When IS_SIBCALL, perform the check_sibcall_overlap_argument_overlap + When IS_SIBCALL, perform the check_sibcall_argument_overlap checking, setting *SIBCALL_FAILURE if appropriate. */ static void @@ -2247,6 +2247,9 @@ expand_call (tree exp, rtx target, int ignore) if (pass && (flags & (ECF_LIBCALL_BLOCK | ECF_MALLOC))) start_sequence (); + if (pass == 0 && cfun->stack_protect_guard) + stack_protect_epilogue (); + adjusted_args_size = args_size; /* Compute the actual size of the argument block required. The variable and constant sizes must be combined, the size may have to be rounded, |