[gcc r14-8238] lto, Darwin: Fix offload section names.
Iain D Sandoe
iains@gcc.gnu.org
Thu Jan 18 14:02:28 GMT 2024
https://gcc.gnu.org/g:1d82a2d933efd49a895873545a46f4945c716654
commit r14-8238-g1d82a2d933efd49a895873545a46f4945c716654
Author: Iain Sandoe <iain@sandoe.co.uk>
Date: Tue Jan 16 08:45:26 2024 +0000
lto, Darwin: Fix offload section names.
Currently, these section names have wrong syntax for Mach-O.
Although they were added some time ago; recently added tests are
now emitting them leading to new fails on Darwin.
This adds a Mach-O variant for each.
gcc/ChangeLog:
* lto-section-names.h (OFFLOAD_SECTION_NAME_PREFIX,
OFFLOAD_VAR_TABLE_SECTION_NAME, OFFLOAD_FUNC_TABLE_SECTION_NAME,
OFFLOAD_IND_FUNC_TABLE_SECTION_NAME): Provide Mach-O syntax
versions when the object format is Mach-O.
Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
Diff:
---
gcc/lto-section-names.h | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/gcc/lto-section-names.h b/gcc/lto-section-names.h
index a743deb4efb..1cdadf36ec0 100644
--- a/gcc/lto-section-names.h
+++ b/gcc/lto-section-names.h
@@ -25,7 +25,11 @@ along with GCC; see the file COPYING3. If not see
name for the functions and static_initializers. For other types of
sections a '.' and the section type are appended. */
#define LTO_SECTION_NAME_PREFIX ".gnu.lto_"
+#if OBJECT_FORMAT_MACHO
+#define OFFLOAD_SECTION_NAME_PREFIX "__GNU_OFFLD_LTO,"
+#else
#define OFFLOAD_SECTION_NAME_PREFIX ".gnu.offload_lto_"
+#endif
/* Can be either OFFLOAD_SECTION_NAME_PREFIX when we stream IR for offload
compiler, or LTO_SECTION_NAME_PREFIX for LTO case. */
@@ -35,8 +39,14 @@ extern const char *section_name_prefix;
#define LTO_SEGMENT_NAME "__GNU_LTO"
+#if OBJECT_FORMAT_MACHO
+#define OFFLOAD_VAR_TABLE_SECTION_NAME "__GNU_OFFLOAD,__vars"
+#define OFFLOAD_FUNC_TABLE_SECTION_NAME "__GNU_OFFLOAD,__funcs"
+#define OFFLOAD_IND_FUNC_TABLE_SECTION_NAME "__GNU_OFFLOAD,__ind_fns"
+#else
#define OFFLOAD_VAR_TABLE_SECTION_NAME ".gnu.offload_vars"
#define OFFLOAD_FUNC_TABLE_SECTION_NAME ".gnu.offload_funcs"
#define OFFLOAD_IND_FUNC_TABLE_SECTION_NAME ".gnu.offload_ind_funcs"
+#endif
#endif /* GCC_LTO_SECTION_NAMES_H */
More information about the Gcc-cvs
mailing list