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