]> Cypherpunks repositories - gostls13.git/commitdiff
liblink: code for debugging bad returns
authorAustin Clements <austin@google.com>
Mon, 22 Dec 2014 21:46:25 +0000 (16:46 -0500)
committerAustin Clements <austin@google.com>
Mon, 22 Dec 2014 22:43:48 +0000 (22:43 +0000)
Disabled by default, but invaluable when you need it.

Change-Id: If4a75d11d14f70b6840d339aaec4b940dc406493
Reviewed-on: https://go-review.googlesource.com/2012
Reviewed-by: Russ Cox <rsc@golang.org>
src/liblink/obj9.c

index a1ead3a0f39d74446115e34a8e310541915f0ed8..2b6456d423510745f5fc0845780cbb0671b2c11e 100644 (file)
@@ -619,6 +619,22 @@ addstacksplit(Link *ctxt, LSym *cursym)
                        p->link = q;
                        p = q;
 
+                       if(0) {
+                               // Debug bad returns
+                               q = ctxt->arch->prg();
+                               q->as = AMOVD;
+                               q->lineno = p->lineno;
+                               q->from.type = D_OREG;
+                               q->from.offset = 0;
+                               q->from.reg = REGTMP;
+                               q->to.type = D_REG;
+                               q->to.reg = REGTMP;
+
+                               q->link = p->link;
+                               p->link = q;
+                               p = q;
+                       }
+
                        if(autosize) {
                                q = ctxt->arch->prg();
                                q->as = AADD;