Commit 219db888 by Georg-Johann Lay Committed by Georg-Johann Lay

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.c (avr_asm_output_aligned_decl_common): Skip
	setting avr_need_clear_bss_p for __gnu_lto* symbols.

From-SVN: r184481
parent 9aa04cc7
2012-02-22 Georg-Johann Lay <avr@gjlay.de>
PR target/18145
* config/avr/avr.c (avr_asm_output_aligned_decl_common): Skip
setting avr_need_clear_bss_p for __gnu_lto* symbols.
2012-02-22 Georg-Johann Lay <avr@gjlay.de>
* config/avr/avr.h (avr_accumulate_outgoing_args): Return int.
* config/avr/avr.c (avr_accumulate_outgoing_args): Return int.
......
......@@ -7245,7 +7245,11 @@ avr_asm_output_aligned_decl_common (FILE * stream,
unsigned HOST_WIDE_INT size,
unsigned int align, bool local_p)
{
avr_need_clear_bss_p = true;
/* __gnu_lto_v1 etc. are just markers for the linker injected by toplev.c.
There is no need to trigger __do_clear_bss code for them. */
if (!STR_PREFIX_P (name, "__gnu_lto"))
avr_need_clear_bss_p = true;
if (local_p)
ASM_OUTPUT_ALIGNED_LOCAL (stream, name, size, align);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment