> Anyway, my knee-jerk reaction was to patch out the pfatal_with_name > invocations as follows: > > BEGIN PATCH > diff -u -r make-4.3/src/output.c make-4.3-fix/src/output.c > --- make-4.3/src/output.c 2020-01-03 07:11:27.000000000 -0000 > +++ make-4.3-fix/src/output.c 2022-08-17 07:35:01.473471281 -0000 > @@ -286,15 +286,16 @@ > FILE *tfile = tmpfile (); > > if (! tfile) > - pfatal_with_name ("tmpfile"); > + return -1; > > /* Create a duplicate so we can close the stream. */ > fd = dup (fileno (tfile)); > - if (fd < 0) > - pfatal_with_name ("dup"); > > fclose (tfile); > > + if (fd < 0) > + return -1; > + > set_append_mode (fd); > > umask (mask); > END PATCH > > My reasoning was that the only invoker of the patched function > (output_tmpfd()) is setup_tmpfile() and it already has a code handling the > failure coming from output_tmpfd(), so let output_tmpfd() to return -1 > instead of aborting with pfatal_with_name().
Meh, I was too hasty with sending the email and forgot to actually state a question: would a patch like this be an acceptable solution? I suppose that we probably would want to print some kind of a warning about output being possibly mixed/garbled or something (without retriggering the issue I tried to fix with the aforementioned patch).