components/make/patches/33873.patch
author Vladimir Marek <Vladimir.Marek@oracle.com>
Tue, 07 Aug 2012 15:30:09 +0200
branchs11-sru
changeset 2322 62b81b3d31fe
permissions -rw-r--r--
7158488 MAKEFLAGS not being honored always (regression) in 3.82
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2322
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     1
This patch is taken from:
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     2
http://cvs.savannah.gnu.org/viewvc/make/main.c?root=make&r1=1.246&r2=1.247
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     3
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     4
When we re-exec the master makefile in a jobserver environment, ensure
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     5
that MAKEFLAGS is set properly so the re-exec'd make runs in parallel.
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     6
See Savannah bug #33873.
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     7
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     8
bug #33873: MAKEFLAGS=-jN gets lost on reexec
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     9
https://savannah.gnu.org/bugs/?33873
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    10
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    11
sr #107487: MAKEFLAGS not being honored always (regression) in 3.82
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    12
https://savannah.gnu.org/support/index.php?107487
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    13
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    14
--- a/main.c	2010/08/29 23:05:27	1.246
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    15
+++ b/main.c	2011/09/18 23:39:26	1.247
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    16
@@ -2088,6 +2088,11 @@
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    17
 
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    18
           ++restarts;
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    19
 
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    20
+          /* If we're re-exec'ing the first make, put back the number of
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    21
+             job slots so define_makefiles() will get it right.  */
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    22
+          if (master_job_slots)
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    23
+            job_slots = master_job_slots;
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    24
+
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    25
           /* Reset makeflags in case they were changed.  */
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    26
           {
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    27
             const char *pv = define_makeflags (1, 1);
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    28
@@ -2824,9 +2829,6 @@
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    29
 		       && (*(unsigned int *) cs->value_ptr ==
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    30
 			   *(unsigned int *) cs->noarg_value))
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    31
 		ADD_FLAG ("", 0); /* Optional value omitted; see below.  */
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    32
-	      else if (cs->c == 'j')
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    33
-		/* Special case for `-j'.  */
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    34
-		ADD_FLAG ("1", 1);
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    35
 	      else
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    36
 		{
62b81b3d31fe 7158488 MAKEFLAGS not being honored always (regression) in 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    37
 		  char *buf = alloca (30);