]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm-project/compiler-rt/lib/crt/crtend.c
Merge diff elimination updates from r355953 into vendor/llvm-project.
[FreeBSD/FreeBSD.git] / contrib / llvm-project / compiler-rt / lib / crt / crtend.c
1 //===-- crtend.c - End of constructors and destructors --------------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include <stdint.h>
10
11 // Put 4-byte zero which is the length field in FDE at the end as a terminator.
12 const int32_t __EH_FRAME_LIST_END__[]
13     __attribute__((section(".eh_frame"), aligned(sizeof(int32_t)),
14                    visibility("hidden"), used)) = {0};
15
16 #ifndef CRT_HAS_INITFINI_ARRAY
17 typedef void (*fp)(void);
18 fp __CTOR_LIST_END__[]
19     __attribute__((section(".ctors"), visibility("hidden"), used)) = {0};
20 fp __DTOR_LIST_END__[]
21     __attribute__((section(".dtors"), visibility("hidden"), used)) = {0};
22 #endif