From d85e8efec4c8185e1519e70ead55469897325391 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Nov 03 2016 06:19:23 +0000 Subject: import make-3.82-23.el7 --- diff --git a/SOURCES/make-3.82-jobserver-tokens.patch b/SOURCES/make-3.82-jobserver-tokens.patch new file mode 100644 index 0000000..9b50449 --- /dev/null +++ b/SOURCES/make-3.82-jobserver-tokens.patch @@ -0,0 +1,13 @@ +diff -Nrup a/main.c b/main.c +--- a/main.c 2016-07-05 17:44:14.957064711 -0400 ++++ b/main.c 2016-07-05 17:47:26.681702820 -0400 +@@ -3147,7 +3147,8 @@ clean_jobserver (int status) + "INTERNAL: Exiting with %u jobserver tokens (should be 0)!", + jobserver_tokens); + else +- while (jobserver_tokens--) ++ /* Don't write back the "free" token */ ++ while (--jobserver_tokens) + { + int r; + diff --git a/SOURCES/make-3.82-var.patch b/SOURCES/make-3.82-var.patch new file mode 100644 index 0000000..4862fbc --- /dev/null +++ b/SOURCES/make-3.82-var.patch @@ -0,0 +1,42 @@ +commit ae2ab76faca93cad3059808b14d02f5565275e31 +Author: Paul Smith +Date: Tue Nov 30 14:48:52 2010 +0000 + + Check if the target-specific variable is the same as the global + variable, and if so don't try to update it. Savannah bug #31743. + +diff --git a/read.c b/read.c +index 7b5b0dd..761e976 100644 +--- a/read.c ++++ b/read.c +@@ -1802,7 +1802,8 @@ record_target_var (struct nameseq *filenames, char *defn, + int len = strlen(v->name); + + gv = lookup_variable (v->name, len); +- if (gv && (gv->origin == o_env_override || gv->origin == o_command)) ++ if (gv && v != gv ++ && (gv->origin == o_env_override || gv->origin == o_command)) + { + if (v->value != 0) + free (v->value); +diff --git a/tests/scripts/features/targetvars b/tests/scripts/features/targetvars +index 6afd48a..a9b8dbe 100644 +--- a/tests/scripts/features/targetvars ++++ b/tests/scripts/features/targetvars +@@ -237,6 +237,16 @@ a: ; @echo "$(FOO)" + + run_make_test(undef, 'FOO=C', "C f1\n"); + ++# TEST #19: Conditional variables with command-line settings ++ ++run_make_test(' ++a: FOO ?= f1 ++a: ; @echo "$(FOO)" ++', ++ '', "f1\n"); ++ ++run_make_test(undef, 'FOO=C', "C\n"); ++ + # TEST #20: Check for continuation after semicolons + + run_make_test(q! diff --git a/SPECS/make.spec b/SPECS/make.spec index 63c68e3..c253ea9 100644 --- a/SPECS/make.spec +++ b/SPECS/make.spec @@ -3,7 +3,7 @@ Summary: A GNU tool which simplifies the build process for users Name: make Epoch: 1 Version: 3.82 -Release: 21%{?dist} +Release: 23%{?dist} License: GPLv2+ Group: Development/Tools URL: http://www.gnu.org/software/make/ @@ -61,6 +61,15 @@ Patch20: make-3.82-func_shell-rlimit.patch # patch causes this to occasionally fail. Patch21: make-3.82-tests-SECONDARY.patch +# BZ 1323206 +# Check if the target-specific variable is the same as the global +# variable, and if it is, don't free it. Savannah bug #31743. +Patch22: make-3.82-var.patch + +# BZ 1322670 +# In very obscure situations we may write the free token back to the pipe. +Patch23: make-3.82-jobserver-tokens.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires(post): /sbin/install-info Requires(preun): /sbin/install-info @@ -96,6 +105,8 @@ makefile. %patch19 -p1 %patch20 -p1 %patch21 -p1 +%patch22 -p1 +%patch23 -p1 rm -f tests/scripts/features/parallelism.orig @@ -140,6 +151,16 @@ fi %{_infodir}/*.info* %changelog +* Thu Jul 07 2016 Patsy Franklin - 1:3.82-23 +- In very obscure situations we may incorrectly write the free token + back to the pipe. + Resolves: #1322670 + +* Thu Jun 30 2016 Patsy Franklin - 1:3.82-22 +- Check if the target-specific variable is the same as the global + variable, and if it is, don't free it. Savannah bug #31743. + Resolves: #1323206 + * Fri Jan 24 2014 Daniel Mach - 1:3.82-21 - Mass rebuild 2014-01-24