[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