mirror of
https://salsa.debian.org/srivasta/make-dfsg.git
synced 2025-02-07 13:03:08 +00:00
* When presented with a very very long command line (e.g. WebKit's linking of libWebCore.la in current git), make fails to execute the command as it doesn't split the command line to fit within the limits. There is a patch used by people to solve this (gentoo, etc). Adam Conrad has provided a patch to fix this. (Closes: #688601). * Pre-4.0 make had an memory corruption issue that caused repeated execution of a specific makefile to display the cirruption. Running with make 4.0 does not show the issue. (Closes: #682895). * recently, the Multi-Arch: foreign tag was added toth make binary package. Jakub Wilk pointed out that this is not correct, some of the make interfaces are actually architecture-dependent. Reverting that change. * Bug fix #688601: "fails to execute extraordinarily long command lines", thanks to Daniel Stone * Bug fix #682895: "incorrect variable handling and corruption", thanks to Tim Spriggs
86 lines
3.4 KiB
Diff
86 lines
3.4 KiB
Diff
From 8a296522d0c82b3133816faf9d22e3fde5fc9077 Mon Sep 17 00:00:00 2001
|
||
From: Paul Smith <psmith@gnu.org>
|
||
Date: Sun, 20 Oct 2013 12:49:01 -0400
|
||
Subject: [PATCH 3/9] * read.c (record_files): [SV 33034] Change fatal() to
|
||
error()
|
||
|
||
Allows deprecated syntax. However we don't guarantee this syntax
|
||
will continue to be legal in the future.
|
||
Change suggested by David Boyce <david.s.boyce@gmail.com>
|
||
|
||
Signed-off-by: Manoj Srivastava <srivasta@golden-gryphon.com>
|
||
|
||
Conflicts:
|
||
NEWS
|
||
---
|
||
NEWS | 26 +++++++++++++++-----------
|
||
read.c | 2 +-
|
||
2 files changed, 16 insertions(+), 12 deletions(-)
|
||
|
||
diff --git a/NEWS b/NEWS
|
||
index 2227a35..23e5a1f 100644
|
||
--- a/NEWS
|
||
+++ b/NEWS
|
||
@@ -9,6 +9,19 @@ manual, which is contained in this distribution as the file doc/make.texi.
|
||
See the README file and the GNU make manual for instructions for
|
||
reporting bugs.
|
||
|
||
+Version 4.0.90
|
||
+
|
||
+A complete list of bugs fixed in this version is available here:
|
||
+
|
||
+http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=105&set=custom
|
||
+
|
||
+* Change the fatal error for mixed explicit and implicit rules, that was
|
||
+ introduced in GNU make 3.82, to a non-fatal error. However, this syntax is
|
||
+ still deprecated and may return to being illegal in a future version of GNU
|
||
+ make. Makefiles that rely on this syntax should be fixed.
|
||
+ See https://savannah.gnu.org/bugs/?33034
|
||
+
|
||
+
|
||
Version 4.0 (09 Oct 2013)
|
||
|
||
A complete list of bugs fixed in this version is available here:
|
||
@@ -144,15 +157,6 @@ http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=104&set
|
||
it explicitly.
|
||
|
||
* WARNING: Backward-incompatibility!
|
||
- In previous versions of make it was acceptable to list one or more explicit
|
||
- targets followed by one or more pattern targets in the same rule and it
|
||
- worked "as expected". However, this was not documented as acceptable and if
|
||
- you listed any explicit targets AFTER the pattern targets, the entire rule
|
||
- would be mis-parsed. This release removes this ability completely: make
|
||
- will generate an error message if you mix explicit and pattern targets in
|
||
- the same rule.
|
||
-
|
||
-* WARNING: Backward-incompatibility!
|
||
As a result of parser enhancements, three backward-compatibility issues
|
||
exist: first, a prerequisite containing an "=" cannot be escaped with a
|
||
backslash any longer. You must create a variable containing an "=" and
|
||
@@ -239,8 +243,8 @@ Version 3.81 (01 Apr 2006)
|
||
any prerequisite that does not exist, even though that prerequisite
|
||
might have caused the target to rebuild. Starting with the _next_
|
||
release of GNU make, '$?' will contain all prerequisites that caused
|
||
- the target to be considered out of date. See this Savannah bug:
|
||
- http://savannah.gnu.org/bugs/index.php?func=detailitem&item_id=16051
|
||
+ the target to be considered out of date.
|
||
+ See http://savannah.gnu.org/bugs/?16051
|
||
|
||
* WARNING: Backward-incompatibility!
|
||
GNU make now implements a generic "second expansion" feature on the
|
||
diff --git a/read.c b/read.c
|
||
index 83224ac..9bbde48 100644
|
||
--- a/read.c
|
||
+++ b/read.c
|
||
@@ -2218,7 +2218,7 @@ record_files (struct nameseq *filenames, const char *pattern,
|
||
/* Reduce escaped percents. If there are any unescaped it's an error */
|
||
name = filenames->name;
|
||
if (find_percent_cached (&name))
|
||
- fatal (flocp, _("mixed implicit and normal rules"));
|
||
+ error (flocp, _("*** mixed implicit and normal rules: deprecated syntax"));
|
||
}
|
||
}
|
||
|
||
--
|
||
2.0.0.rc0
|
||
|