aboutsummaryrefslogtreecommitdiff
path: root/src/liblink/objfile.c
diff options
context:
space:
mode:
authorShenghou Ma <minux@golang.org>2014-08-06 00:24:43 -0400
committerShenghou Ma <minux@golang.org>2014-08-06 00:24:43 -0400
commit3c24b60fd3e3e6c20cba64cda8ff01fd3a2c5216 (patch)
treeda86f18d15bc1e2d21419b263f3181e7d6be6729 /src/liblink/objfile.c
parent61b1d3a719e470b1136ba089addbf4a5986cfc1d (diff)
downloadgo-3c24b60fd3e3e6c20cba64cda8ff01fd3a2c5216.tar.xz
liblink: use LinkArch.textflag() to get text and dataflag
Rather than switch on thechar. LGTM=rsc, dave R=rsc, iant, dave CC=golang-codereviews https://golang.org/cl/119330043
Diffstat (limited to 'src/liblink/objfile.c')
-rw-r--r--src/liblink/objfile.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/src/liblink/objfile.c b/src/liblink/objfile.c
index 610f87954e..22c9199d5e 100644
--- a/src/liblink/objfile.c
+++ b/src/liblink/objfile.c
@@ -183,12 +183,7 @@ writeobj(Link *ctxt, Biobuf *b)
s->size = p->to.offset;
if(s->type == 0 || s->type == SXREF)
s->type = SBSS;
-
- if(ctxt->arch->thechar == '5')
- flag = p->reg;
- else
- flag = p->from.scale;
-
+ flag = ctxt->arch->textflag(p);
if(flag & DUPOK)
s->dupok = 1;
if(flag & RODATA)
@@ -221,10 +216,7 @@ writeobj(Link *ctxt, Biobuf *b)
else
etext->next = s;
etext = s;
- if(ctxt->arch->thechar == '5')
- flag = p->reg;
- else
- flag = p->from.scale;
+ flag = ctxt->arch->textflag(p);
if(flag & DUPOK)
s->dupok = 1;
if(flag & NOSPLIT)