1627f7eb2Smrg /* Provide minfo section bracketing for D executables and shared libraries 2627f7eb2Smrg when the linker doesn't provide it. 3*4c3eb207Smrg Copyright (C) 2019-2020 Free Software Foundation, Inc. 4627f7eb2Smrg 5627f7eb2Smrg This file is part of GCC. 6627f7eb2Smrg 7627f7eb2Smrg GCC is free software; you can redistribute it and/or modify it under 8627f7eb2Smrg the terms of the GNU General Public License as published by the Free 9627f7eb2Smrg Software Foundation; either version 3, or (at your option) any later 10627f7eb2Smrg version. 11627f7eb2Smrg 12627f7eb2Smrg GCC is distributed in the hope that it will be useful, but WITHOUT ANY 13627f7eb2Smrg WARRANTY; without even the implied warranty of MERCHANTABILITY or 14627f7eb2Smrg FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15627f7eb2Smrg for more details. 16627f7eb2Smrg 17627f7eb2Smrg Under Section 7 of GPL version 3, you are granted additional 18627f7eb2Smrg permissions described in the GCC Runtime Library Exception, version 19627f7eb2Smrg 3.1, as published by the Free Software Foundation. 20627f7eb2Smrg 21627f7eb2Smrg You should have received a copy of the GNU General Public License and 22627f7eb2Smrg a copy of the GCC Runtime Library Exception along with this program; 23627f7eb2Smrg see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 24627f7eb2Smrg <http://www.gnu.org/licenses/>. */ 25627f7eb2Smrg 26627f7eb2Smrg /* Avoid interference with targets without support for named sections. */ 27627f7eb2Smrg #ifdef __ELF__ 28627f7eb2Smrg 29627f7eb2Smrg #ifdef DRT_BEGIN 30627f7eb2Smrg void *__start_minfo[] 31627f7eb2Smrg __attribute__((used, section("minfo"), aligned(sizeof(void *)))) = { }; 32627f7eb2Smrg #endif 33627f7eb2Smrg 34627f7eb2Smrg #ifdef DRT_END 35627f7eb2Smrg void *__stop_minfo[] 36627f7eb2Smrg __attribute__((used, section("minfo"), aligned(sizeof(void *)))) = { }; 37627f7eb2Smrg #endif 38627f7eb2Smrg 39627f7eb2Smrg #endif /* __ELF__ */ 40