components/make/patches/30612.patch
author Drew Fisher <drew.fisher@oracle.com>
Mon, 31 Mar 2014 16:44:02 -0700
branchs11-update
changeset 3028 5e73a3a3f66a
parent 2517 d7a835a71137
permissions -rw-r--r--
PSARC/2013/350 OpenStack for Solaris (Umbrella) PSARC/2014/007 OpenStack client API components for Grizzly PSARC/2014/048 OpenStack Keystone (OpenStack Identity Service) PSARC/2014/049 OpenStack Nova (OpenStack Compute Service) PSARC/2014/054 OpenStack Cinder (OpenStack Block Storage Service) PSARC/2014/055 OpenStack Glance (OpenStack Image Service) PSARC/2014/058 OpenStack Horizon (OpenStack Dashboard) PSARC/2014/059 OpenStack Neutron (OpenStack Networking Service) 17531161 greenlet doesn't build with gcc 4.7.X 18143276 greenlet can crash with register window corruption on MP SPARC 18290089 integrate cinderclient 18290097 integrate glanceclient 18290102 integrate keystoneclient 18290109 integrate neutronclient 18290113 integrate novaclient 18290119 integrate swiftclient 18290125 integrate quantumclient 18307582 Request to integrate Cinder into userland 18307595 Request to integrate Glance into userland 18307626 Request to integrate Horizon into userland 18307641 Request to integrate Keystone into userland 18307650 Request to integrate Neutron into userland 18307659 Request to integrate Nova into userland 18321909 a few Python packages deliver both po and mo files 18362900 Dnsmasq's SMF method_credential is missing a privilege 18363793 Dnsmasq should use SIOCSXARP ioctl
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2517
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     1
This patch is taken from:
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     2
http://cvs.savannah.gnu.org/viewvc/make/read.c?root=make&r1=1.193&r2=1.194
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     3
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     4
Fix various errors parsing archives with multiple objects in the parenthesis,
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     5
as well as wildcards. Fixes Savannah bug #30612.
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     6
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     7
https://savannah.gnu.org/bugs/?30612
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     8
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     9
Second patch is a followup for that bug as well:
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    10
http://cvs.savannah.gnu.org/viewvc/make/read.c?root=make&r1=1.200&r2=1.201
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    11
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    12
--- a/read.c	2010/07/13 01:20:42	1.193
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    13
+++ b/read.c	2010/08/14 02:50:14	1.194
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    14
@@ -3028,7 +3028,7 @@
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    15
             {
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    16
               /* This looks like the first element in an open archive group.
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    17
                  A valid group MUST have ')' as the last character.  */
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    18
-              const char *e = p + nlen;
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    19
+              const char *e = p;
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    20
               do
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    21
                 {
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    22
                   e = next_token (e);
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    23
@@ -3084,19 +3084,19 @@
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    24
          Go to the next item in the string.  */
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    25
       if (flags & PARSEFS_NOGLOB)
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    26
         {
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    27
-          NEWELT (concat (2, prefix, tp));
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    28
+          NEWELT (concat (2, prefix, tmpbuf));
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    29
           continue;
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    30
         }
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    31
 
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    32
       /* If we get here we know we're doing glob expansion.
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    33
          TP is a string in tmpbuf.  NLEN is no longer used.
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    34
          We may need to do more work: after this NAME will be set.  */
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    35
-      name = tp;
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    36
+      name = tmpbuf;
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    37
 
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    38
       /* Expand tilde if applicable.  */
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    39
-      if (tp[0] == '~')
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    40
+      if (tmpbuf[0] == '~')
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    41
 	{
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    42
-	  tildep = tilde_expand (tp);
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    43
+	  tildep = tilde_expand (tmpbuf);
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    44
 	  if (tildep != 0)
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    45
             name = tildep;
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    46
 	}
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    47
@@ -3152,7 +3152,10 @@
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    48
             else
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    49
               {
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    50
                 /* We got a chain of items.  Attach them.  */
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    51
-                (*newp)->next = found;
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    52
+                if (*newp)
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    53
+                  (*newp)->next = found;
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    54
+                else
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    55
+                  *newp = found;
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    56
 
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    57
                 /* Find and set the new end.  Massage names if necessary.  */
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    58
                 while (1)
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    59
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    60
--- a/read.c	2011/05/07 14:36:12	1.200
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    61
+++ b/read.c	2011/06/12 16:22:04	1.201
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    62
@@ -3044,16 +3044,16 @@
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    63
                       nlen -= (n + 1) - tp;
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    64
                       tp = n + 1;
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    65
 
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    66
-                      /* If we have just "lib(", part of something like
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    67
-                         "lib( a b)", go to the next item.  */
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    68
-                      if (! nlen)
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    69
-                        continue;
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    70
-
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    71
                       /* We can stop looking now.  */
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    72
                       break;
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    73
                     }
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    74
                 }
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    75
               while (*e != '\0');
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    76
+
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    77
+              /* If we have just "lib(", part of something like "lib( a b)",
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    78
+                 go to the next item.  */
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    79
+              if (! nlen)
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    80
+                continue;
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    81
             }
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    82
         }
d7a835a71137 15856019 Archive library support broken in gmake 3.82
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    83