summaryrefslogtreecommitdiff
path: root/src/cmd/5l/pass.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/5l/pass.c')
-rw-r--r--src/cmd/5l/pass.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/cmd/5l/pass.c b/src/cmd/5l/pass.c
index c43049459..0f2afbd85 100644
--- a/src/cmd/5l/pass.c
+++ b/src/cmd/5l/pass.c
@@ -213,6 +213,8 @@ patch(void)
if((a == ABL || a == ABX || a == AB || a == ARET) &&
p->to.type != D_BRANCH && p->to.sym != S) {
s = p->to.sym;
+ if(s->text == nil)
+ continue;
switch(s->type) {
default:
diag("undefined: %s", s->name);
@@ -222,7 +224,8 @@ patch(void)
case STEXT:
p->to.offset = s->value;
p->to.type = D_BRANCH;
- break;
+ p->cond = s->text;
+ continue;
}
}
if(p->to.type != D_BRANCH)