[Bug target/18145] Do not emit __do_copy_data or __do_clear_bss if .data or .bss is empty.
gjl at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Apr 20 13:39:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18145
--- Comment #4 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-04-20 13:38:09 UTC ---
Author: gjl
Date: Wed Apr 20 13:38:05 2011
New Revision: 172769
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172769
Log:
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.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/avr/avr-protos.h
trunk/gcc/config/avr/avr.c
trunk/gcc/config/avr/avr.h
More information about the Gcc-bugs
mailing list