Tested on x86_64 Darwin, x86_64 Linux. OK for trunk? When? thanks Iain --- 8< ---
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 <i...@sandoe.co.uk> --- 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 */ -- 2.39.2 (Apple Git-143)