summaryrefslogtreecommitdiff
path: root/src/cmd/6l/span.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/6l/span.c')
-rw-r--r--src/cmd/6l/span.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/cmd/6l/span.c b/src/cmd/6l/span.c
index 237a81fff..15f931bcb 100644
--- a/src/cmd/6l/span.c
+++ b/src/cmd/6l/span.c
@@ -234,6 +234,7 @@ genasmsym(void (*put)(char*, int, vlong, vlong, int, Sym*))
continue;
case SDATA:
+ case SELFDATA:
if(!s->reachable)
continue;
put(s->name, 'D', s->value+INITDAT, s->size, s->version, s->gotype);
@@ -251,6 +252,10 @@ genasmsym(void (*put)(char*, int, vlong, vlong, int, Sym*))
put(s->name, 'B', s->value+INITDAT, s->size, s->version, s->gotype);
continue;
+ case SFIXED:
+ put(s->name, 'B', s->value, s->size, s->version, s->gotype);
+ continue;
+
case SFILE:
put(s->name, 'f', s->value, 0, s->version, 0);
continue;
@@ -792,6 +797,9 @@ vaddr(Adr *a)
v += INITTEXT; /* TO DO */
v += s->value;
break;
+ case SFIXED:
+ v += s->value;
+ break;
case SMACHO:
if(!s->reachable)
sysfatal("unreachable symbol in vaddr - %s", s->name);