summaryrefslogtreecommitdiff
path: root/src/cmd/5l/noop.c
diff options
context:
space:
mode:
authorShenghou Ma <minux.ma@gmail.com>2012-08-07 10:09:24 +0800
committerShenghou Ma <minux.ma@gmail.com>2012-08-07 10:09:24 +0800
commit7c74089f258ff091ec37e1d13c7054cea63d7a2d (patch)
treec1c86bd1b13e933ef13b7f4586f467047d502647 /src/cmd/5l/noop.c
parent9de1064bb3f546a7c803d830eecfb555e64316bd (diff)
downloadgo-7c74089f258ff091ec37e1d13c7054cea63d7a2d.tar.gz
cmd/5l: dwarf line number support for Linux/ARM
Part of issue 3747. R=dave, lvd, rsc CC=golang-dev http://codereview.appspot.com/6084044
Diffstat (limited to 'src/cmd/5l/noop.c')
-rw-r--r--src/cmd/5l/noop.c31
1 files changed, 6 insertions, 25 deletions
diff --git a/src/cmd/5l/noop.c b/src/cmd/5l/noop.c
index 004f9f2fa..c50a108f3 100644
--- a/src/cmd/5l/noop.c
+++ b/src/cmd/5l/noop.c
@@ -365,11 +365,7 @@ noops(void)
q1 = p;
/* MOV a,4(SP) */
- q = prg();
- q->link = p->link;
- p->link = q;
- p = q;
-
+ p = appendp(p);
p->as = AMOVW;
p->line = q1->line;
p->from.type = D_REG;
@@ -379,11 +375,7 @@ noops(void)
p->to.offset = 4;
/* MOV b,REGTMP */
- q = prg();
- q->link = p->link;
- p->link = q;
- p = q;
-
+ p = appendp(p);
p->as = AMOVW;
p->line = q1->line;
p->from.type = D_REG;
@@ -395,11 +387,7 @@ noops(void)
p->to.offset = 0;
/* CALL appropriate */
- q = prg();
- q->link = p->link;
- p->link = q;
- p = q;
-
+ p = appendp(p);
p->as = ABL;
p->line = q1->line;
p->to.type = D_BRANCH;
@@ -424,11 +412,7 @@ noops(void)
}
/* MOV REGTMP, b */
- q = prg();
- q->link = p->link;
- p->link = q;
- p = q;
-
+ p = appendp(p);
p->as = AMOVW;
p->line = q1->line;
p->from.type = D_REG;
@@ -438,12 +422,9 @@ noops(void)
p->to.reg = q1->to.reg;
/* ADD $8,SP */
- q = prg();
- q->link = p->link;
- p->link = q;
- p = q;
-
+ p = appendp(p);
p->as = AADD;
+ p->line = q1->line;
p->from.type = D_CONST;
p->from.reg = NREG;
p->from.offset = 8;