1/* Copyright (C) 2001-2016 Free Software Foundation, Inc. 2 3This file is part of GCC. 4 5GCC is free software; you can redistribute it and/or modify it 6under the terms of the GNU General Public License as published by the 7Free Software Foundation; either version 3, or (at your option) any 8later version. 9 10GCC is distributed in the hope that it will be useful, 11but WITHOUT ANY WARRANTY; without even the implied warranty of 12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13General Public License for more details. 14 15Under Section 7 of GPL version 3, you are granted additional 16permissions described in the GCC Runtime Library Exception, version 173.1, as published by the Free Software Foundation. 18 19You should have received a copy of the GNU General Public License and 20a copy of the GCC Runtime Library Exception along with this program; 21see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 22<http://www.gnu.org/licenses/>. */ 23 24/* The code in sections .init and .fini is supposed to be a single 25 regular function. The function in .init is called directly from 26 start in crt0.S. The function in .fini is atexit()ed in crt0.S 27 too. 28 29 crti.S contributes the prologue of a function to these sections, 30 and crtn.S comes up the epilogue. STARTFILE_SPEC should list 31 crti.o before any other object files that might add code to .init 32 or .fini sections, and ENDFILE_SPEC should list crtn.o after any 33 such object files. */ 34 35#ifdef __H8300H__ 36#ifdef __NORMAL_MODE__ 37 .h8300hn 38#else 39 .h8300h 40#endif 41#endif 42 43#ifdef __H8300S__ 44#ifdef __NORMAL_MODE__ 45 .h8300sn 46#else 47 .h8300s 48#endif 49#endif 50#ifdef __H8300SX__ 51#ifdef __NORMAL_MODE__ 52 .h8300sxn 53#else 54 .h8300sx 55#endif 56#endif 57 58 .section .init, "ax", @progbits 59 .global __init 60__init: 61 .section .fini, "ax", @progbits 62 .global __fini 63__fini: 64