This patch addresses a long-standing bug and usability issue. For architectures that do not rely exclusively on a link register (such as ARM), ktrace would complain if a link register was not provided as an argument. The diagnostic was superfluous at best, and inaccurate as zero is a valid link register value. Finally, an acid line was printed to ease usability when analyzing traces. Reference: /n/sources/patch/ktrace-link-reg Date: Thu Jul 4 11:36:26 CES 2013 Signed-off-by: sstallion@gmail.com --- /sys/src/cmd/ktrace.c Thu Jul 4 11:36:17 2013 +++ /sys/src/cmd/ktrace.c Thu Jul 4 11:36:15 2013 @@ -122,6 +122,7 @@ argv0, argv[0], argc == 4 ? "risc" : "cisc"); break; } + print("acid %s\n", argv[0]); (*t)(pc, sp, link); exits(0); } @@ -156,11 +157,9 @@ fmt(buf, pc); oldpc = pc; - if(s.type == 'L' || s.type == 'l' || pc <= s.value+mach->pcquant){ - if(link == 0) - fprint(2, "%s: need to supply a valid link register\n", argv0); + if(s.type == 'L' || s.type == 'l' || pc <= s.value+mach->pcquant) pc = link; - }else{ + else{ pc = getval(sp); if(pc == 0) break;