xref: /netbsd-src/external/gpl3/gcc.old/dist/libphobos/libdruntime/gcc/drtstuff.c (revision 4c3eb207d36f67d31994830c0a694161fc1ca39b)
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