On Wed, 7 Aug 2019, Richard Earnshaw (lists) wrote: > On 07/08/2019 17:15, Jakub Jelinek wrote: > > On Wed, Aug 07, 2019 at 05:08:28PM +0100, Richard Earnshaw (lists) wrote: > > > > Though, I'm fine if you commit your patch now as a fix and Richi's patch > > > > with the above incremental change is applied on top of it incrementally > > > > as a cleanup. > > > > > > > > Jakub > > > > > > > > > > Ok, I'll do that. > > > > Thanks. > > > > > Do you want it on the gcc-9 branch as well? I'm running > > > a bootstrap of it right now. > > > > Yes, but can you defer for 9.2.1, i.e. Tuesday+ next week? > > > > Jakub > > > > I'm OoO next week, but can do it when I get back.
I installed the following followup after testing on x86_64-unknown-linux-gnu. Richard. 2019-08-12 Richard Biener <rguent...@suse.de> PR driver/91130 * lto-wrapper.c (get_options_from_collect_gcc_options): Remove lang_mask option, always use CL_DRIVER. (get_options_from_collect_gcc_options): Adjust. (find_and_merge_options): Likewise. (run_gcc): Likewise. Index: gcc/lto-wrapper.c =================================================================== --- gcc/lto-wrapper.c (revision 274235) +++ gcc/lto-wrapper.c (working copy) @@ -128,12 +128,11 @@ maybe_unlink (const char *file) #define DUMPBASE_SUFFIX ".ltrans18446744073709551615" /* Create decoded options from the COLLECT_GCC and COLLECT_GCC_OPTIONS - environment according to LANG_MASK. */ + environment. */ static void get_options_from_collect_gcc_options (const char *collect_gcc, const char *collect_gcc_options, - unsigned int lang_mask, struct cl_decoded_option **decoded_options, unsigned int *decoded_options_count) { @@ -176,8 +175,7 @@ get_options_from_collect_gcc_options (co argc = obstack_object_size (&argv_obstack) / sizeof (void *) - 1; argv = XOBFINISH (&argv_obstack, const char **); - decode_cmdline_options_to_array (argc, (const char **)argv, - lang_mask, + decode_cmdline_options_to_array (argc, (const char **)argv, CL_DRIVER, decoded_options, decoded_options_count); obstack_free (&argv_obstack, NULL); } @@ -1009,8 +1007,7 @@ find_and_merge_options (int fd, off_t fi { struct cl_decoded_option *f2decoded_options; unsigned int f2decoded_options_count; - get_options_from_collect_gcc_options (collect_gcc, - fopts, CL_DRIVER, + get_options_from_collect_gcc_options (collect_gcc, fopts, &f2decoded_options, &f2decoded_options_count); if (!fdecoded_options) @@ -1282,7 +1279,6 @@ run_gcc (unsigned argc, char *argv[]) fatal_error (input_location, "environment variable %<COLLECT_GCC_OPTIONS%> must be set"); get_options_from_collect_gcc_options (collect_gcc, collect_gcc_options, - CL_DRIVER, &decoded_options, &decoded_options_count);