1/* Copyright (C) 2001-2022 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