Hi. The patch strips '#' in filenames used for Makefile.
Ready to be installed? Thanks, Martin gcc/ChangeLog: 2020-01-21 Martin Liska <mli...@suse.cz> PR driver/93057 * lto-wrapper.c (prune_filename_for_make): Prune characters like '#'. --- gcc/lto-wrapper.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/gcc/lto-wrapper.c b/gcc/lto-wrapper.c index fe8f292f877..f2504cc5b4f 100644 --- a/gcc/lto-wrapper.c +++ b/gcc/lto-wrapper.c @@ -1241,6 +1241,16 @@ jobserver_active_p (void) && is_valid_fd (wfd)); } +/* Prune invalid characters that can't be in name due to Makefile syntax. */ + +static void +prune_filename_for_make (char *filename) +{ + for (unsigned i = 0; i < strlen (filename); i++) + if (filename[i] == '#') + filename[i] = '_'; +} + /* Execute gcc. ARGC is the number of arguments. ARGV contains the arguments. */ static void @@ -1780,6 +1790,7 @@ cont: obstack_grow (&env_obstack, input_name, strlen (input_name) - 2); obstack_grow (&env_obstack, ".ltrans.o", sizeof (".ltrans.o")); output_name = XOBFINISH (&env_obstack, char *); + prune_filename_for_make (output_name); /* Adjust the dumpbase if the linker output file was seen. */ if (linker_output)