xref: /dflybsd-src/contrib/gcc-8.0/gcc/config/initfini-array.h (revision 38fd149817dfbff97799f62fcb70be98c4e32523)
1*38fd1498Szrj /* Definitions for ELF systems with .init_array/.fini_array section
2*38fd1498Szrj    support.
3*38fd1498Szrj    Copyright (C) 2011-2018 Free Software Foundation, Inc.
4*38fd1498Szrj 
5*38fd1498Szrj    This file is part of GCC.
6*38fd1498Szrj 
7*38fd1498Szrj    GCC is free software; you can redistribute it and/or modify it
8*38fd1498Szrj    under the terms of the GNU General Public License as published
9*38fd1498Szrj    by the Free Software Foundation; either version 3, or (at your
10*38fd1498Szrj    option) any later version.
11*38fd1498Szrj 
12*38fd1498Szrj    GCC is distributed in the hope that it will be useful, but WITHOUT
13*38fd1498Szrj    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14*38fd1498Szrj    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
15*38fd1498Szrj    License for more details.
16*38fd1498Szrj 
17*38fd1498Szrj    Under Section 7 of GPL version 3, you are granted additional
18*38fd1498Szrj    permissions described in the GCC Runtime Library Exception, version
19*38fd1498Szrj    3.1, as published by the Free Software Foundation.
20*38fd1498Szrj 
21*38fd1498Szrj    You should have received a copy of the GNU General Public License and
22*38fd1498Szrj    a copy of the GCC Runtime Library Exception along with this program;
23*38fd1498Szrj    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
24*38fd1498Szrj    <http://www.gnu.org/licenses/>.  */
25*38fd1498Szrj 
26*38fd1498Szrj #if HAVE_INITFINI_ARRAY_SUPPORT
27*38fd1498Szrj 
28*38fd1498Szrj #define USE_INITFINI_ARRAY
29*38fd1498Szrj 
30*38fd1498Szrj #undef INIT_SECTION_ASM_OP
31*38fd1498Szrj #undef FINI_SECTION_ASM_OP
32*38fd1498Szrj 
33*38fd1498Szrj #undef INIT_ARRAY_SECTION_ASM_OP
34*38fd1498Szrj #define INIT_ARRAY_SECTION_ASM_OP
35*38fd1498Szrj 
36*38fd1498Szrj #undef FINI_ARRAY_SECTION_ASM_OP
37*38fd1498Szrj #define FINI_ARRAY_SECTION_ASM_OP
38*38fd1498Szrj 
39*38fd1498Szrj /* Use .init_array/.fini_array section for constructors and destructors. */
40*38fd1498Szrj #undef TARGET_ASM_CONSTRUCTOR
41*38fd1498Szrj #define TARGET_ASM_CONSTRUCTOR default_elf_init_array_asm_out_constructor
42*38fd1498Szrj #undef TARGET_ASM_DESTRUCTOR
43*38fd1498Szrj #define TARGET_ASM_DESTRUCTOR default_elf_fini_array_asm_out_destructor
44*38fd1498Szrj 
45*38fd1498Szrj #endif
46