On Tue, Jan 16, 2024 at 4:00 PM Iain Sandoe <iains....@gmail.com> wrote:
>
> Tested on x86_64 Darwin, x86_64 Linux.
> OK for trunk?  When?

OK now.

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

Reply via email to