re PR target/18145 (Do not emit __do_copy_data or __do_clear_bss if .data or .bss...
authorGeorg-Johann Lay <avr@gjlay.de>
Wed, 20 Apr 2011 13:38:05 +0000 (13:38 +0000)
committerGeorg-Johann Lay <gjl@gcc.gnu.org>
Wed, 20 Apr 2011 13:38:05 +0000 (13:38 +0000)
commit516edfdd8a1bffdfe73a09f4813c50c6a22cba39
treed1fda4119531599d7c23c167b87af9714d02240d
parentdafc951101fe6d8feeffecee7ac2e41cad1b7fe2
re PR target/18145 (Do not emit __do_copy_data or __do_clear_bss if .data or .bss is empty.)

PR target/18145

* config/avr/avr.h (TARGET_ASM_INIT_SECTIONS): Delete.
(ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
(ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define.
(TARGET_ASM_NAMED_SECTION): Change to avr_asm_named_section.

* config/avr/avr-protos.h (avr_asm_output_aligned_common):
New prototype.

* config/avr/avr.c (TARGET_ASM_INIT_SECTIONS): Define.
(avr_asm_named_section, avr_asm_output_aligned_common,
avr_output_data_section_asm_op, avr_output_bss_section_asm_op):
New functions to update...
(avr_need_clear_bss_p, avr_need_copy_data_p): ...these new variables.
(avr_asm_init_sections): Overwrite section callbacks for
data_section, bss_section.
(avr_file_start): Move output of __do_copy_data, __do_clear_bss
from here to...
(avr_file_end): ...here.

From-SVN: r172769
gcc/ChangeLog
gcc/config/avr/avr-protos.h
gcc/config/avr/avr.c
gcc/config/avr/avr.h