re PR target/54220 ([avr] Potential stack corruption in naked functions at -O0)

PR target/54220
	* config/avr/avr.c (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): New
	define to...
	(avr_allocate_stack_slots_for_args): ...this new static function.

From-SVN: r190914
This commit is contained in:
Senthil Kumar Selvaraj 2012-09-04 09:08:50 +00:00 committed by Georg-Johann Lay
parent 3474210e8c
commit cee8f252d7
2 changed files with 20 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2012-09-04 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
PR target/54220
* config/avr/avr.c (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): New
define to...
(avr_allocate_stack_slots_for_args): ...this new static function.
2012-09-04 Christophe Lyon <christophe.lyon@linaro.org>
* config/arm/arm.c (arm_expand_builtin): Replace gen_rtx_CONST_INT

View File

@ -700,6 +700,16 @@ avr_regs_to_save (HARD_REG_SET *set)
return count;
}
/* Implement `TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS' */
static bool
avr_allocate_stack_slots_for_args (void)
{
return !cfun->machine->is_naked;
}
/* Return true if register FROM can be eliminated via register TO. */
static bool
@ -11339,6 +11349,9 @@ avr_fold_builtin (tree fndecl, int n_args ATTRIBUTE_UNUSED, tree *arg,
#undef TARGET_CAN_ELIMINATE
#define TARGET_CAN_ELIMINATE avr_can_eliminate
#undef TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS
#define TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS avr_allocate_stack_slots_for_args
#undef TARGET_WARN_FUNC_RETURN
#define TARGET_WARN_FUNC_RETURN avr_warn_func_return