crtend.c 890 B

12345678910111213141516171819202122
  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. #include <stdint.h>
  9. // Put 4-byte zero which is the length field in FDE at the end as a terminator.
  10. const int32_t __EH_FRAME_LIST_END__[]
  11. __attribute__((section(".eh_frame"), aligned(sizeof(int32_t)),
  12. visibility("hidden"), used)) = {0};
  13. #ifndef CRT_HAS_INITFINI_ARRAY
  14. typedef void (*fp)(void);
  15. fp __CTOR_LIST_END__[]
  16. __attribute__((section(".ctors"), visibility("hidden"), used)) = {0};
  17. fp __DTOR_LIST_END__[]
  18. __attribute__((section(".dtors"), visibility("hidden"), used)) = {0};
  19. #endif