make-alpha
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 3.83 testing


From: Paul Smith
Subject: Re: 3.83 testing
Date: Sun, 13 Nov 2011 21:50:04 -0500

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 <address@hidden>          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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]