summaryrefslogtreecommitdiff
path: root/utils/8l/pass.c
diff options
context:
space:
mode:
authorforsyth <forsyth@vitanuova.com>2010-04-27 21:15:13 +0100
committerforsyth <forsyth@vitanuova.com>2010-04-27 21:15:13 +0100
commitc0927006217e7a7e0214add5828659287c7498d6 (patch)
tree528acb9e0df2d33eaa2481b8e3ff37c252082fd2 /utils/8l/pass.c
parent2303ddadf6e5cbf9705ccf25abe6114af1126b79 (diff)
20100427-2115
Diffstat (limited to 'utils/8l/pass.c')
-rw-r--r--utils/8l/pass.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/utils/8l/pass.c b/utils/8l/pass.c
index 9f54d614..0e0ec346 100644
--- a/utils/8l/pass.c
+++ b/utils/8l/pass.c
@@ -629,7 +629,8 @@ import(void)
if(s->value != 0)
diag("value != 0 on SXREF");
undefsym(s);
- Bprint(&bso, "IMPORT: %s sig=%lux v=%ld\n", s->name, s->sig, s->value);
+ if(debug['X'])
+ Bprint(&bso, "IMPORT: %s sig=%lux v=%ld\n", s->name, s->sig, s->value);
if(debug['S'])
s->sig = 0;
}
@@ -674,14 +675,14 @@ export(void)
n = 0;
for(i = 0; i < NHASH; i++)
for(s = hash[i]; s != S; s = s->link)
- if(s->sig != 0 && s->type != SXREF && s->type != SUNDEF && (nexports == 0 || s->subtype == SEXPORT))
+ if(s->type != SXREF && s->type != SUNDEF && (nexports == 0 && s->sig != 0 || s->subtype == SEXPORT || allexport))
n++;
esyms = malloc(n*sizeof(Sym*));
ne = n;
n = 0;
for(i = 0; i < NHASH; i++)
for(s = hash[i]; s != S; s = s->link)
- if(s->sig != 0 && s->type != SXREF && s->type != SUNDEF && (nexports == 0 || s->subtype == SEXPORT))
+ if(s->type != SXREF && s->type != SUNDEF && (nexports == 0 && s->sig != 0 || s->subtype == SEXPORT || allexport))
esyms[n++] = s;
for(i = 0; i < ne-1; i++)
for(j = i+1; j < ne; j++)