avr.c (avr_option_override): Set flag_omit_frame_pointer to 0 if frame pointer is needed for unwinding.

* config/avr/avr.c (avr_option_override): Set
	flag_omit_frame_pointer to 0 if frame pointer is needed for
	unwinding.

From-SVN: r179765
This commit is contained in:
Georg-Johann Lay 2011-10-10 17:25:48 +00:00 committed by Georg-Johann Lay
parent 19f4664b8d
commit 16bbc87591
2 changed files with 21 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2011-10-10 Georg-Johann Lay <avr@gjlay.de>
* config/avr/avr.c (avr_option_override): Set
flag_omit_frame_pointer to 0 if frame pointer is needed for
unwinding.
2011-10-10 Uros Bizjak <ubizjak@gmail.com>
PR bootstrap/50665

View File

@ -351,6 +351,21 @@ avr_option_override (void)
{
flag_delete_null_pointer_checks = 0;
/* Unwind tables currently require a frame pointer for correctness,
see toplev.c:process_options(). */
if ((flag_unwind_tables
|| flag_non_call_exceptions
|| flag_asynchronous_unwind_tables)
&& !ACCUMULATE_OUTGOING_ARGS)
{
flag_omit_frame_pointer = 0;
}
else
{
flag_omit_frame_pointer = (optimize >= 1);
}
avr_current_device = &avr_mcu_types[avr_mcu_index];
avr_current_arch = &avr_arch_types[avr_current_device->arch];
avr_extra_arch_macro = avr_current_device->macro;