Support for C++ constructors/destructors.
authorMarek Michalkiewicz <marekm@amelek.gda.pl>
Sat, 1 Jun 2002 23:33:47 +0000 (01:33 +0200)
committerMarek Michalkiewicz <marekm@gcc.gnu.org>
Sat, 1 Jun 2002 23:33:47 +0000 (23:33 +0000)
commit9af145ae9a5d597ed99ae4e836f653b8e9254759
treeaa46724eab46edd17324abbef5e7d558302464fb
parent0d66ad572b03eb9d8921c649ba6f4b0cfdf2e8b6
Support for C++ constructors/destructors.

* config/avr/avr.c (avr_output_function_epilogue): Jump to exit()
instead of looping if main() returns.
(asm_file_start): Output global symbols that cause .data and .bss
initialization code to be linked in, unconditionally for now.
(avr_asm_out_ctor, avr_asm_out_dtor): New functions.
* config/avr/avr.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): New.
(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
(LIBSTDCXX): New.
* config/avr/libgcc.S (_exit): Split in .fini9 and .fini0 sections.
(__tablejump__): New.
(__do_copy_data, __do_clear_bss): New.
(__do_global_ctors, __do_global_dtors): New.
* config/avr/t-avr (LIB1ASMFUNCS): Add _copy_data, _clear_bss,
_ctors, _dtors.

From-SVN: r54156
gcc/ChangeLog
gcc/config/avr/avr.c
gcc/config/avr/avr.h
gcc/config/avr/libgcc.S
gcc/config/avr/t-avr