lto-section-names.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /* Definitions for LTO section names.
  2. Copyright (C) 2013-2019 Free Software Foundation, Inc.
  3. This file is part of GCC.
  4. GCC is free software; you can redistribute it and/or modify it under
  5. the terms of the GNU General Public License as published by the Free
  6. Software Foundation; either version 3, or (at your option) any later
  7. version.
  8. GCC is distributed in the hope that it will be useful, but WITHOUT ANY
  9. WARRANTY; without even the implied warranty of MERCHANTABILITY or
  10. FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
  11. for more details.
  12. You should have received a copy of the GNU General Public License
  13. along with GCC; see the file COPYING3. If not see
  14. <http://www.gnu.org/licenses/>. */
  15. #ifndef GCC_LTO_SECTION_NAMES_H
  16. #define GCC_LTO_SECTION_NAMES_H
  17. /* The string that is the prefix on the section names we make for lto.
  18. For decls the DECL_ASSEMBLER_NAME is appended to make the section
  19. name for the functions and static_initializers. For other types of
  20. sections a '.' and the section type are appended. */
  21. #define LTO_SECTION_NAME_PREFIX ".gnu.lto_"
  22. #define OFFLOAD_SECTION_NAME_PREFIX ".gnu.offload_lto_"
  23. /* Can be either OFFLOAD_SECTION_NAME_PREFIX when we stream IR for offload
  24. compiler, or LTO_SECTION_NAME_PREFIX for LTO case. */
  25. extern const char *section_name_prefix;
  26. /* Segment name for LTO sections. This is only used for Mach-O. */
  27. #define LTO_SEGMENT_NAME "__GNU_LTO"
  28. #define OFFLOAD_VAR_TABLE_SECTION_NAME ".gnu.offload_vars"
  29. #define OFFLOAD_FUNC_TABLE_SECTION_NAME ".gnu.offload_funcs"
  30. #endif /* GCC_LTO_SECTION_NAMES_H */