Blame SOURCES/make-4.2-trace.patch

7a33d6
diff -Nrup a/debug.h b/debug.h
7a33d6
--- a/debug.h	2016-02-28 12:48:44.000000000 -0500
7a33d6
+++ b/debug.h	2017-06-11 10:22:11.180077939 -0400
7a33d6
@@ -20,6 +20,9 @@ this program.  If not, see 
7a33d6
 #define DB_JOBS         (0x004)
7a33d6
 #define DB_IMPLICIT     (0x008)
7a33d6
 #define DB_MAKEFILES    (0x100)
7a33d6
+#define DB_CALL       (0x01000)
7a33d6
+#define DB_EVAL       (0x02000)
7a33d6
+
7a33d6
 
7a33d6
 #define DB_ALL          (0xfff)
7a33d6
 
7a33d6
diff -Nrup a/function.c b/function.c
7a33d6
--- a/function.c	2016-05-21 16:22:32.000000000 -0400
7a33d6
+++ b/function.c	2017-06-11 10:35:13.563174482 -0400
7a33d6
@@ -26,6 +26,7 @@ this program.  If not, see 
7a33d6
 #include "amiga.h"
7a33d6
 #endif
7a33d6
 
7a33d6
+static int depth = 0;
7a33d6
 
7a33d6
 struct function_table_entry
7a33d6
   {
7a33d6
@@ -1400,7 +1401,12 @@ func_eval (char *o, char **argv, const c
7a33d6
 
7a33d6
   install_variable_buffer (&buf, &len;;
7a33d6
 
7a33d6
+  depth += 1;
7a33d6
+  DBS( DB_EVAL, ("### eval -->\n"));
7a33d6
+  DB( DB_EVAL, ("%s\n", argv[0]));
7a33d6
   eval_buffer (argv[0], NULL);
7a33d6
+  DBS( DB_EVAL, ("### eval <--\n"));
7a33d6
+  depth -= 1;
7a33d6
 
7a33d6
   restore_variable_buffer (buf, len);
7a33d6
 
7a33d6
@@ -2584,6 +2590,7 @@ func_call (char *o, char **argv, const c
7a33d6
   if (v == 0 || *v->value == '\0')
7a33d6
     return o;
7a33d6
 
7a33d6
+  depth += 1;
7a33d6
   body = alloca (flen + 4);
7a33d6
   body[0] = '$';
7a33d6
   body[1] = '(';
7a33d6
@@ -2591,6 +2598,8 @@ func_call (char *o, char **argv, const c
7a33d6
   body[flen+2] = ')';
7a33d6
   body[flen+3] = '\0';
7a33d6
 
7a33d6
+  DBS(DB_CALL, ("### call %s -->\n", body));
7a33d6
+
7a33d6
   /* Set up arguments $(1) .. $(N).  $(0) is the function name.  */
7a33d6
 
7a33d6
   push_new_variable_scope ();
7a33d6
@@ -2600,6 +2609,7 @@ func_call (char *o, char **argv, const c
7a33d6
       char num[11];
7a33d6
 
7a33d6
       sprintf (num, "%d", i);
7a33d6
+      DBS(DB_CALL, ("### arg %i for call %s is '%s'\n", i, body, *argv));
7a33d6
       define_variable (num, strlen (num), *argv, o_automatic, 0);
7a33d6
     }
7a33d6
 
7a33d6
@@ -2613,6 +2623,7 @@ func_call (char *o, char **argv, const c
7a33d6
       char num[11];
7a33d6
 
7a33d6
       sprintf (num, "%d", i);
7a33d6
+      DBS(DB_CALL, ("### arg %i for call %s is implicit\n", i, body));
7a33d6
       define_variable (num, strlen (num), "", o_automatic, 0);
7a33d6
     }
7a33d6
 
7a33d6
@@ -2623,7 +2634,14 @@ func_call (char *o, char **argv, const c
7a33d6
 
7a33d6
   saved_args = max_args;
7a33d6
   max_args = i;
7a33d6
+
7a33d6
   o = variable_expand_string (o, body, flen+3);
7a33d6
+  DBS(DB_CALL, ("### call to %s expended into\n", body));
7a33d6
+  DB(DB_CALL, ("%s\n", o));
7a33d6
+  DBS(DB_CALL, ("### call %s <--\n", body));
7a33d6
+
7a33d6
+  depth -= 1;
7a33d6
+
7a33d6
   max_args = saved_args;
7a33d6
 
7a33d6
   v->exp_count = 0;
7a33d6
diff -Nrup a/main.c b/main.c
7a33d6
--- a/main.c	2017-06-11 10:20:12.053504852 -0400
7a33d6
+++ b/main.c	2017-06-11 10:28:37.914642751 -0400
7a33d6
@@ -755,6 +755,12 @@ decode_debug_flags (void)
7a33d6
               case 'b':
7a33d6
                 db_level |= DB_BASIC;
7a33d6
                 break;
7a33d6
+              case 'c':
7a33d6
+                db_level |= DB_CALL;
7a33d6
+                break;
7a33d6
+              case 'e':
7a33d6
+                db_level |= DB_EVAL;
7a33d6
+                break;
7a33d6
               case 'i':
7a33d6
                 db_level |= DB_BASIC | DB_IMPLICIT;
7a33d6
                 break;