lto-wrapper.cc: Add offload target name to 'offload_args' suffix
Checks
Commit Message
Found when working with -save-temps and looking at 'mkoffload'
with a GCC configured for both nvptx and gcn offloading.
Before (for 'a.out') for mkoffload:a.offload_args now: a.amdgcn-amdhsa.offload_args
and a.nvptx-none.offload_args
OK for mainline?
Tobias
PS: The code does not free the 'xmalloc'ed memory, but that's also
the case of all/most 'concat' in this file; the concat could also
be skipped when no save_temps is used, in case this optimization
makes sense.
Comments
On Wed, 3 Apr 2024, Tobias Burnus wrote:
> Found when working with -save-temps and looking at 'mkoffload'
> with a GCC configured for both nvptx and gcn offloading.
>
> Before (for 'a.out') for mkoffload:a.offload_args now:
> a.amdgcn-amdhsa.offload_args and a.nvptx-none.offload_args
> OK for mainline?
OK.
Richard.
> Tobias
>
> PS: The code does not free the 'xmalloc'ed memory, but that's also
> the case of all/most 'concat' in this file; the concat could also
> be skipped when no save_temps is used, in case this optimization
> makes sense.
>
lto-wrapper.cc: Add offload target name to 'offload_args' suffix
lto-wrapper.cc's compile_offload_image calls mkoffload with
an @./a.offload_args argument ('a.' in case of, e.g., 'a.out'). However,
when generating code for both nvptx and gcn, they use the same name
with -save-temps. Hence, this commit adds a <target> + '.' before
'offload_args' in line with other offload-target-specific files.
gcc/ChangeLog:
* lto-wrapper.cc (compile_offload_image): Prefix 'offload_args'
suffix by the target name.
@@ -993,7 +993,8 @@ compile_offload_image (const char *target, const char *compiler_path,
obstack_ptr_grow (&argv_obstack, NULL);
argv = XOBFINISH (&argv_obstack, char **);
- fork_execute (argv[0], argv, true, "offload_args");
+ suffix = concat (target, ".offload_args", NULL);
+ fork_execute (argv[0], argv, true, suffix);
obstack_free (&argv_obstack, NULL);
free_array_of_ptrs ((void **) paths, n_paths);