aboutsummaryrefslogtreecommitdiffstats
path: root/main/make/make-3.82-savannah-bugs-30612-30723.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/make/make-3.82-savannah-bugs-30612-30723.patch')
-rw-r--r--main/make/make-3.82-savannah-bugs-30612-30723.patch75
1 files changed, 75 insertions, 0 deletions
diff --git a/main/make/make-3.82-savannah-bugs-30612-30723.patch b/main/make/make-3.82-savannah-bugs-30612-30723.patch
new file mode 100644
index 0000000000..1b09825479
--- /dev/null
+++ b/main/make/make-3.82-savannah-bugs-30612-30723.patch
@@ -0,0 +1,75 @@
+diff -Naur make-3.82-orig/main.c make-3.82/main.c
+--- make-3.82-orig/main.c 2010-07-19 14:10:53.000000000 +0700
++++ make-3.82/main.c 2011-01-12 21:31:30.114891591 +0700
+@@ -1,3 +1,4 @@
++
+ /* Argument parsing and main program of GNU Make.
+ Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
+ 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+@@ -1138,7 +1139,7 @@
+ a macro and some compilers (MSVC) don't like conditionals in macros. */
+ {
+ const char *features = "target-specific order-only second-expansion"
+- " else-if shortest-stem undefine"
++ " else-if shortest-stem undefine oneshell"
+ #ifndef NO_ARCHIVES
+ " archives"
+ #endif
+@@ -2093,7 +2094,7 @@
+ const char *pv = define_makeflags (1, 1);
+ char *p = alloca (sizeof ("MAKEFLAGS=") + strlen (pv) + 1);
+ sprintf (p, "MAKEFLAGS=%s", pv);
+- putenv (p);
++ putenv (allocated_variable_expand (p));
+ }
+
+ if (ISDB (DB_BASIC))
+diff -Naur make-3.82-orig/read.c make-3.82/read.c
+--- make-3.82-orig/read.c 2010-07-13 08:20:42.000000000 +0700
++++ make-3.82/read.c 2011-01-12 21:31:23.497486028 +0700
+@@ -3028,7 +3028,7 @@
+ {
+ /* This looks like the first element in an open archive group.
+ A valid group MUST have ')' as the last character. */
+- const char *e = p + nlen;
++ const char *e = p;
+ do
+ {
+ e = next_token (e);
+@@ -3084,19 +3084,19 @@
+ Go to the next item in the string. */
+ if (flags & PARSEFS_NOGLOB)
+ {
+- NEWELT (concat (2, prefix, tp));
++ NEWELT (concat (2, prefix, tmpbuf));
+ continue;
+ }
+
+ /* If we get here we know we're doing glob expansion.
+ TP is a string in tmpbuf. NLEN is no longer used.
+ We may need to do more work: after this NAME will be set. */
+- name = tp;
++ name = tmpbuf;
+
+ /* Expand tilde if applicable. */
+- if (tp[0] == '~')
++ if (tmpbuf[0] == '~')
+ {
+- tildep = tilde_expand (tp);
++ tildep = tilde_expand (tmpbuf);
+ if (tildep != 0)
+ name = tildep;
+ }
+@@ -3152,7 +3152,11 @@
+ else
+ {
+ /* We got a chain of items. Attach them. */
+- (*newp)->next = found;
++ if (*newp)
++ (*newp)->next = found;
++ else
++ *newp = found;
++
+
+ /* Find and set the new end. Massage names if necessary. */
+ while (1)