Re: 3.83 testing

Paul Smith <[email protected]>
Newsgroups gmane.comp.gnu.make.devel
Organization GNU's Not Unix!
Message-ID <1321239004.3100.52.camel@homebase>
On Thu, 2011-10-06 at 09:40 +0200, Boris Kolpackov wrote:
> 1. Change of behavior compared to 3.82 and earlier:
> 
> This makefile:
> all: v := foo bar \
> baz
> all:; @echo "[$v]"
> 
> With 3.83 prints:
> [foo bar  baz]
> 
> And with 3.82:
> [foo bar baz]
> 
> I.e., there is now an extra space introduced by the new line escaping.

This behavior is required by POSIX:

        When an escaped <newline> (one preceded by a <backslash>) is
        found anywhere in the makefile except in a command line, an
        include line, or a line immediately preceding an include line,
        it shall be replaced, along with any leading white space on the
        following line, with a single <space>.

> 2. I can fairly consistently get these messages on our build system:
> 
> make: INTERNAL: Exiting with 3 jobserver tokens (should be 0)!
> make: INTERNAL: Exiting with 14 jobserver tokens available; should be 16!

I made a change that might help.  If you can reproduce this with the
latest CVS please let me know (and if you can dig into it at all that
would be great).

> make[1]: Leaving directory
> `/home/boris/work/odb/tests-pgsql/common/readonly'
> �P�:35: recipe for target `_all' failed

Hm.  This means the filename string has been corrupted when invoking
jobs.c:child_error().  I'm not sure how that would happen, since all
makefile names are kept in the strcache and that is read-only.

I tried a simple repro case and I got the right string with no
corruption.  If you can repro this please dig a bit and see if you can
figure it out.

Thanks!

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <[email protected]>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.mad-scientist.net
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist


_______________________________________________
Make-alpha mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/make-alpha
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.