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 |
23 | |