aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2010-07-22 09:00:34 -0700
committerRuss Cox <rsc@golang.org>2010-07-22 09:00:34 -0700
commitfa3d86ca39f9d168f194b232538794bd09f887f3 (patch)
treec607457c2dfa9db29de7de4c362065a840f29f6c
parent2cc9d339e6b7f8cce7faeff2a22e8aa8683d84e3 (diff)
downloadgo-fa3d86ca39f9d168f194b232538794bd09f887f3.tar.gz
go-fa3d86ca39f9d168f194b232538794bd09f887f3.zip
libmach: correct handling of .5 files with D_REGREG addresses
undo workaround in gc Fixes #943. R=kaib CC=golang-dev https://golang.org/cl/1889041
-rw-r--r--src/cmd/gc/range.c4
-rw-r--r--src/libmach/5obj.c3
2 files changed, 4 insertions, 3 deletions
diff --git a/src/cmd/gc/range.c b/src/cmd/gc/range.c
index b57639b232..dca3a54542 100644
--- a/src/cmd/gc/range.c
+++ b/src/cmd/gc/range.c
@@ -115,9 +115,7 @@ walkrange(Node *n)
v2 = n->list->next->n;
hv2 = N;
- // TODO(kaib): re-enable this optimization on arm once we are on par with 6g/8g
- // see http://code.google.com/p/go/issues/detail?id=943
- if(v2 == N && t->etype == TARRAY && thechar != '5') {
+ if(v2 == N && t->etype == TARRAY) {
// will have just one reference to argument.
// no need to make a potentially expensive copy.
ha = a;
diff --git a/src/libmach/5obj.c b/src/libmach/5obj.c
index 034deea2c5..e539362b0b 100644
--- a/src/libmach/5obj.c
+++ b/src/libmach/5obj.c
@@ -123,6 +123,9 @@ addr(Biobuf *bp)
case D_PSR:
case D_FPCR:
break;
+ case D_REGREG:
+ Bgetc(bp);
+ break;
case D_CONST2:
Bgetc(bp);
Bgetc(bp);