summaryrefslogtreecommitdiff
path: root/sys/src/cmd/kl
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2020-04-11 01:26:36 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2020-04-11 01:26:36 +0200
commit9d46360c9d83fa95f42f1eebbad49ecd9281fb0d (patch)
tree58d0a1110febae03a4b0231c6107adb88fb57821 /sys/src/cmd/kl
parent1d3644a1684bd191f3a36568d94c2587c2d9f24f (diff)
backout the gethunk() again, as that breaks the assemblers
the assemblers share gethunk() cc/macbody but are compiled without compat.c, so calls such as getenv() trigger malloc() which does its own sbrk() calls, breaking the continuity of the hunk. so this change needs another revision. until then, this is backed out.
Diffstat (limited to 'sys/src/cmd/kl')
-rw-r--r--sys/src/cmd/kl/l.h2
-rw-r--r--sys/src/cmd/kl/obj.c16
2 files changed, 8 insertions, 10 deletions
diff --git a/sys/src/cmd/kl/l.h b/sys/src/cmd/kl/l.h
index 169f68c3f..e296e4509 100644
--- a/sys/src/cmd/kl/l.h
+++ b/sys/src/cmd/kl/l.h
@@ -241,7 +241,7 @@ EXTERN long symsize;
EXTERN long staticgen;
EXTERN Prog* textp;
EXTERN long textsize;
-EXTERN uintptr thunk;
+EXTERN uintptr tothunk;
EXTERN char xcmp[C_NCLASS][C_NCLASS];
EXTERN int version;
EXTERN Prog zprg;
diff --git a/sys/src/cmd/kl/obj.c b/sys/src/cmd/kl/obj.c
index 322a060a3..b778cfd8d 100644
--- a/sys/src/cmd/kl/obj.c
+++ b/sys/src/cmd/kl/obj.c
@@ -194,7 +194,7 @@ main(int argc, char *argv[])
out:
if(debug['v']) {
Bprint(&bso, "%5.2f cpu time\n", cputime());
- Bprint(&bso, "%zud memory used\n", thunk);
+ Bprint(&bso, "%zud memory used\n", tothunk);
Bprint(&bso, "%d sizeof adr\n", sizeof(Adr));
Bprint(&bso, "%d sizeof prog\n", sizeof(Prog));
}
@@ -983,9 +983,9 @@ gethunk(void)
long nh;
nh = NHUNK;
- if(thunk >= 5L*NHUNK) {
+ if(tothunk >= 5L*NHUNK) {
nh = 5L*NHUNK;
- if(thunk >= 25L*NHUNK)
+ if(tothunk >= 25L*NHUNK)
nh = 25L*NHUNK;
}
h = mysbrk(nh);
@@ -993,12 +993,10 @@ gethunk(void)
diag("out of memory");
errorexit();
}
- if(nhunk == 0)
- hunk = h;
- else
- nh += (h - hunk) - nhunk;
- nhunk += nh;
- thunk += nh;
+
+ hunk = h;
+ nhunk = nh;
+ tothunk += nh;
}
void