https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98225

--- Comment #12 from Bernd Edlinger <edlinger at gcc dot gnu.org> ---
Aah, now I see (lto-wrapper.c):

          if (parallel)
            {
              fprintf (mstream, "%s:\n\t@%s ", output_name, new_argv[0]);
              for (j = 1; new_argv[j] != NULL; ++j)
                fprintf (mstream, " '%s'", new_argv[j]);
              fprintf (mstream, "\n");
              /* If we are not preserving the ltrans input files then
                 truncate them as soon as we have processed it.  This
                 reduces temporary disk-space usage.  */
              if (! save_temps)
                fprintf (mstream, "\t@-touch -r %s %s.tem > /dev/null 2>&1 "
                         "&& mv %s.tem %s\n",
                         input_name, input_name, input_name, input_name);
            }
          else
            {
              char argsuffix[sizeof (DUMPBASE_SUFFIX) + 1];
              if (save_temps)
                snprintf (argsuffix, sizeof (DUMPBASE_SUFFIX),
                          "ltrans%u.ltrans_args", i);
              fork_execute (new_argv[0], CONST_CAST (char **, new_argv),
                            true, save_temps ? argsuffix : NULL);
              maybe_unlink (input_name);
            }


IF parallel is true, the "ltrans%u.ltrans_args and the "ltrans%u.ltrans_args.0
is obviously not taken.

AND on my system I use a gnu-make
that does not always pass the jobserver file ids to the sub-makes.
Only when "$(MAKE)" is used.

I already thought about adding something like "#$(MAKE)" somewhere
to un-break that....

Reply via email to