[Top][All Lists]

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

Re: error reporting

From: John E. Malmberg
Subject: Re: error reporting
Date: Mon, 07 Apr 2014 23:49:08 -0500
User-agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20130215 Thunderbird/17.0.3

On 4/7/2014 11:26 PM, Philip Guenther wrote:
On Mon, Apr 7, 2014 at 4:45 PM, Rob Juergens <address@hidden> wrote:
Given the make file (makefile):

foo : bar

gmake 3.75 gives this:

gmake: *** No rule to make target 'bar', needed by 'foo'. Stop.

gmake 4.0 gives this:

                 gmake: ***. stop.

This has caused a lot of time trying to figure out what is wrong with the
makefile. A big step backward in error reporting.

Please fix this.

I am unable to reproduce this:

: morgaine; ls -l
total 2
-rw-rw-r--  1 guenther  wheel  10 Apr  7 21:22 Makefile
: morgaine; cat Makefile
foo : bar
: morgaine; gmake --version
GNU Make 4.0
Built for x86_64-unknown-openbsd5.5
Copyright (C) 1988-2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
: morgaine; gmake
gmake: *** No rule to make target 'bar', needed by 'foo'.  Stop.
: morgaine;

What information about your situation did you leave out?

I was able to reproduce a similar issue on VAX/VMS 7.3 with Gnu Make 4.0 from the release tarball. Under some code paths the output buffer size is initialized to zero length and output gets truncated.

The buffer expansion algorithm was to double the size of the buffer if it detects that there is not room for the output of vsnprintf, but since the size starts at zero in some cases, zero * 2 is still zero, so the buffer was not expanded. Which results in the output reported above.

I did not see this issue on Alpha or IA64/VMS 8.4, and did not find out why it works on that platform and failed on VAX/VMS, since I would have expected similar behavior in both cases.

The section of code that causes the problem has been completely replaced in master.


reply via email to

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