summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/cmd/1l/obj.c30
-rw-r--r--sys/src/cmd/2l/obj.c30
-rw-r--r--sys/src/cmd/5l/obj.c44
-rw-r--r--sys/src/cmd/6l/obj.c30
-rw-r--r--sys/src/cmd/7l/l.h1
-rw-r--r--sys/src/cmd/7l/obj.c38
-rw-r--r--sys/src/cmd/8l/obj.c30
-rw-r--r--sys/src/cmd/kl/obj.c26
-rw-r--r--sys/src/cmd/ql/obj.c26
-rw-r--r--sys/src/cmd/vl/obj.c44
10 files changed, 40 insertions, 259 deletions
diff --git a/sys/src/cmd/1l/obj.c b/sys/src/cmd/1l/obj.c
index 094e17101..0b555a100 100644
--- a/sys/src/cmd/1l/obj.c
+++ b/sys/src/cmd/1l/obj.c
@@ -498,12 +498,7 @@ dosym:
}
}
- while(nhunk < sizeof(Auto))
- gethunk();
- u = (Auto*)hunk;
- nhunk -= sizeof(Auto);
- hunk += sizeof(Auto);
-
+ u = malloc(sizeof(Auto));
u->link = curauto;
curauto = u;
u->asym = s;
@@ -760,12 +755,7 @@ loop:
goto loop;
}
- while(nhunk < sizeof(Prog))
- gethunk();
- p = (Prog*)hunk;
- nhunk -= sizeof(Prog);
- hunk += sizeof(Prog);
-
+ p = malloc(sizeof(Prog));
p->as = o;
p->line = bloc[2] | (bloc[3] << 8) | (bloc[4] << 16) | (bloc[5] << 24);
p->back = 2;
@@ -1025,12 +1015,7 @@ lookup(char *symb, int v)
if(memcmp(s->name, symb, l) == 0)
return s;
- while(nhunk < sizeof(Sym))
- gethunk();
- s = (Sym*)hunk;
- nhunk -= sizeof(Sym);
- hunk += sizeof(Sym);
-
+ s = malloc(sizeof(Sym));
s->name = malloc(l + 1);
memmove(s->name, symb, l);
@@ -1046,14 +1031,7 @@ lookup(char *symb, int v)
Prog*
prg(void)
{
- Prog *p;
-
- while(nhunk < sizeof(Prog))
- gethunk();
- p = (Prog*)hunk;
- nhunk -= sizeof(Prog);
- hunk += sizeof(Prog);
-
+ Prog *p = (Prog*)malloc(sizeof(Prog));
*p = zprg;
return p;
}
diff --git a/sys/src/cmd/2l/obj.c b/sys/src/cmd/2l/obj.c
index aa050520b..e6bc78ab5 100644
--- a/sys/src/cmd/2l/obj.c
+++ b/sys/src/cmd/2l/obj.c
@@ -513,12 +513,7 @@ dosym:
}
}
- while(nhunk < sizeof(Auto))
- gethunk();
- u = (Auto*)hunk;
- nhunk -= sizeof(Auto);
- hunk += sizeof(Auto);
-
+ u = malloc(sizeof(Auto));
u->link = curauto;
curauto = u;
u->asym = s;
@@ -775,12 +770,7 @@ loop:
goto loop;
}
- while(nhunk < sizeof(Prog))
- gethunk();
- p = (Prog*)hunk;
- nhunk -= sizeof(Prog);
- hunk += sizeof(Prog);
-
+ p = malloc(sizeof(Prog));
p->as = o;
p->line = bloc[2] | (bloc[3] << 8) | (bloc[4] << 16) | (bloc[5] << 24);
p->back = 2;
@@ -1049,12 +1039,7 @@ lookup(char *symb, int v)
if(memcmp(s->name, symb, l) == 0)
return s;
- while(nhunk < sizeof(Sym))
- gethunk();
- s = (Sym*)hunk;
- nhunk -= sizeof(Sym);
- hunk += sizeof(Sym);
-
+ s = malloc(sizeof(Sym));
s->name = malloc(l + 1);
memmove(s->name, symb, l);
@@ -1070,14 +1055,7 @@ lookup(char *symb, int v)
Prog*
prg(void)
{
- Prog *p;
-
- while(nhunk < sizeof(Prog))
- gethunk();
- p = (Prog*)hunk;
- nhunk -= sizeof(Prog);
- hunk += sizeof(Prog);
-
+ Prog *p = malloc(sizeof(Prog));
*p = zprg;
return p;
}
diff --git a/sys/src/cmd/5l/obj.c b/sys/src/cmd/5l/obj.c
index 9aabb6d7e..4d520b7a2 100644
--- a/sys/src/cmd/5l/obj.c
+++ b/sys/src/cmd/5l/obj.c
@@ -484,23 +484,13 @@ zaddr(uchar *p, Adr *a, Sym *h[])
break;
case D_SCONST:
- while(nhunk < NSNAME)
- gethunk();
- a->sval = (char*)hunk;
- nhunk -= NSNAME;
- hunk += NSNAME;
-
+ a->sval = malloc(NSNAME);
memmove(a->sval, p+4, NSNAME);
c += NSNAME;
break;
case D_FCONST:
- while(nhunk < sizeof(Ieee))
- gethunk();
- a->ieee = (Ieee*)hunk;
- nhunk -= NSNAME;
- hunk += NSNAME;
-
+ a->ieee = malloc(sizeof(Ieee));
a->ieee->l = p[4] | (p[5]<<8) |
(p[6]<<16) | (p[7]<<24);
a->ieee->h = p[8] | (p[9]<<8) |
@@ -524,12 +514,7 @@ zaddr(uchar *p, Adr *a, Sym *h[])
return c;
}
- while(nhunk < sizeof(Auto))
- gethunk();
- u = (Auto*)hunk;
- nhunk -= sizeof(Auto);
- hunk += sizeof(Auto);
-
+ u = malloc(sizeof(Auto));
u->link = curauto;
curauto = u;
u->asym = s;
@@ -814,12 +799,7 @@ loop:
goto loop;
}
- if(nhunk < sizeof(Prog))
- gethunk();
- p = (Prog*)hunk;
- nhunk -= sizeof(Prog);
- hunk += sizeof(Prog);
-
+ p = malloc(sizeof(Prog));
p->as = o;
p->scond = bloc[1];
p->reg = bloc[2];
@@ -1101,12 +1081,7 @@ lookup(char *symb, int v)
if(memcmp(s->name, symb, l) == 0)
return s;
- while(nhunk < sizeof(Sym))
- gethunk();
- s = (Sym*)hunk;
- nhunk -= sizeof(Sym);
- hunk += sizeof(Sym);
-
+ s = malloc(sizeof(Sym));
s->name = malloc(l);
memmove(s->name, symb, l);
@@ -1123,14 +1098,7 @@ lookup(char *symb, int v)
Prog*
prg(void)
{
- Prog *p;
-
- while(nhunk < sizeof(Prog))
- gethunk();
- p = (Prog*)hunk;
- nhunk -= sizeof(Prog);
- hunk += sizeof(Prog);
-
+ Prog *p = malloc(sizeof(Prog));
*p = zprg;
return p;
}
diff --git a/sys/src/cmd/6l/obj.c b/sys/src/cmd/6l/obj.c
index 71824398d..ba8984773 100644
--- a/sys/src/cmd/6l/obj.c
+++ b/sys/src/cmd/6l/obj.c
@@ -560,12 +560,7 @@ zaddr(uchar *p, Adr *a, Sym *h[])
}
}
- while(nhunk < sizeof(Auto))
- gethunk();
- u = (Auto*)hunk;
- nhunk -= sizeof(Auto);
- hunk += sizeof(Auto);
-
+ u = malloc(sizeof(Auto));
u->link = curauto;
curauto = u;
u->asym = s;
@@ -856,12 +851,7 @@ loop:
goto loop;
}
- while(nhunk < sizeof(Prog))
- gethunk();
- p = (Prog*)hunk;
- nhunk -= sizeof(Prog);
- hunk += sizeof(Prog);
-
+ p = malloc(sizeof(Prog));
p->as = o;
p->line = bloc[2] | (bloc[3] << 8) | (bloc[4] << 16) | (bloc[5] << 24);
p->back = 2;
@@ -1147,12 +1137,7 @@ lookup(char *symb, int v)
if(memcmp(s->name, symb, l) == 0)
return s;
- while(nhunk < sizeof(Sym))
- gethunk();
- s = (Sym*)hunk;
- nhunk -= sizeof(Sym);
- hunk += sizeof(Sym);
-
+ s = malloc(sizeof(Sym));
s->name = malloc(l + 1);
memmove(s->name, symb, l);
@@ -1170,14 +1155,7 @@ lookup(char *symb, int v)
Prog*
prg(void)
{
- Prog *p;
-
- while(nhunk < sizeof(Prog))
- gethunk();
- p = (Prog*)hunk;
- nhunk -= sizeof(Prog);
- hunk += sizeof(Prog);
-
+ Prog *p = malloc(sizeof(Prog));
*p = zprg;
return p;
}
diff --git a/sys/src/cmd/7l/l.h b/sys/src/cmd/7l/l.h
index c72202b8a..55ff29b8d 100644
--- a/sys/src/cmd/7l/l.h
+++ b/sys/src/cmd/7l/l.h
@@ -373,7 +373,6 @@ void errorexit(void);
void export(void);
void follow(void);
void histtoauto(void);
-void* halloc(usize);
int isnop(Prog*);
double ieeedtod(Ieee*);
long ieeedtof(Ieee*);
diff --git a/sys/src/cmd/7l/obj.c b/sys/src/cmd/7l/obj.c
index 985d2e0c2..35dfc5766 100644
--- a/sys/src/cmd/7l/obj.c
+++ b/sys/src/cmd/7l/obj.c
@@ -460,13 +460,13 @@ zaddr(uchar *p, Adr *a, Sym *h[])
break;
case D_SCONST:
- a->sval = halloc(NSNAME);
+ a->sval = malloc(NSNAME);
memmove(a->sval, p+4, NSNAME);
c += NSNAME;
break;
case D_FCONST:
- a->ieee = halloc(sizeof(Ieee));
+ a->ieee = malloc(sizeof(Ieee));
a->ieee->l = p[4] | (p[5]<<8) |
(p[6]<<16) | (p[7]<<24);
a->ieee->h = p[8] | (p[9]<<8) |
@@ -490,7 +490,7 @@ zaddr(uchar *p, Adr *a, Sym *h[])
return c;
}
- u = halloc(sizeof(Auto));
+ u = malloc(sizeof(Auto));
u->link = curauto;
curauto = u;
u->asym = s;
@@ -785,7 +785,7 @@ loop:
goto loop;
}
- p = halloc(sizeof(Prog));
+ p = malloc(sizeof(Prog));
p->as = o;
p->reg = bloc[2] & 0x3F;
if(bloc[2] & 0x80)
@@ -1113,12 +1113,7 @@ lookup(char *symb, int v)
if(memcmp(s->name, symb, l) == 0)
return s;
- while(nhunk < sizeof(Sym))
- gethunk();
- s = (Sym*)hunk;
- nhunk -= sizeof(Sym);
- hunk += sizeof(Sym);
-
+ s = malloc(sizeof(Sym));
s->name = malloc(l);
memmove(s->name, symb, l);
@@ -1135,32 +1130,11 @@ lookup(char *symb, int v)
Prog*
prg(void)
{
- Prog *p;
-
- while(nhunk < sizeof(Prog))
- gethunk();
- p = (Prog*)hunk;
- nhunk -= sizeof(Prog);
- hunk += sizeof(Prog);
-
+ Prog *p = malloc(sizeof(Sym));
*p = zprg;
return p;
}
-void*
-halloc(usize n)
-{
- void *p;
-
- n = (n+7)&~7;
- while(nhunk < n)
- gethunk();
- p = hunk;
- nhunk -= n;
- hunk += n;
- return p;
-}
-
void
doprof1(void)
{
diff --git a/sys/src/cmd/8l/obj.c b/sys/src/cmd/8l/obj.c
index 530e6ea3b..1450ba44d 100644
--- a/sys/src/cmd/8l/obj.c
+++ b/sys/src/cmd/8l/obj.c
@@ -548,12 +548,7 @@ zaddr(uchar *p, Adr *a, Sym *h[])
}
}
- while(nhunk < sizeof(Auto))
- gethunk();
- u = (Auto*)hunk;
- nhunk -= sizeof(Auto);
- hunk += sizeof(Auto);
-
+ u = malloc(sizeof(Auto));
u->link = curauto;
curauto = u;
u->asym = s;
@@ -843,12 +838,7 @@ loop:
goto loop;
}
- while(nhunk < sizeof(Prog))
- gethunk();
- p = (Prog*)hunk;
- nhunk -= sizeof(Prog);
- hunk += sizeof(Prog);
-
+ p = malloc(sizeof(Prog));
p->as = o;
p->line = bloc[2] | (bloc[3] << 8) | (bloc[4] << 16) | (bloc[5] << 24);
p->back = 2;
@@ -1122,12 +1112,7 @@ lookup(char *symb, int v)
if(memcmp(s->name, symb, l) == 0)
return s;
- while(nhunk < sizeof(Sym))
- gethunk();
- s = (Sym*)hunk;
- nhunk -= sizeof(Sym);
- hunk += sizeof(Sym);
-
+ s = malloc(sizeof(Sym));
s->name = malloc(l + 1);
memmove(s->name, symb, l);
@@ -1145,14 +1130,7 @@ lookup(char *symb, int v)
Prog*
prg(void)
{
- Prog *p;
-
- while(nhunk < sizeof(Prog))
- gethunk();
- p = (Prog*)hunk;
- nhunk -= sizeof(Prog);
- hunk += sizeof(Prog);
-
+ Prog *p = malloc(sizeof(Prog));
*p = zprg;
return p;
}
diff --git a/sys/src/cmd/kl/obj.c b/sys/src/cmd/kl/obj.c
index dd324dfb3..39511e1d3 100644
--- a/sys/src/cmd/kl/obj.c
+++ b/sys/src/cmd/kl/obj.c
@@ -683,12 +683,7 @@ loop:
goto loop;
}
- if(nhunk < sizeof(Prog))
- gethunk();
- p = (Prog*)hunk;
- nhunk -= sizeof(Prog);
- hunk += sizeof(Prog);
-
+ p = malloc(sizeof(Prog));
p->as = o;
p->reg = bloc[1] & 0x7f;
if(bloc[1] & 0x80)
@@ -940,12 +935,7 @@ lookup(char *symb, int v)
if(memcmp(s->name, symb, l) == 0)
return s;
- while(nhunk < sizeof(Sym))
- gethunk();
- s = (Sym*)hunk;
- nhunk -= sizeof(Sym);
- hunk += sizeof(Sym);
-
+ s = malloc(sizeof(Sym));
s->name = malloc(l + 1);
memmove(s->name, symb, l);
@@ -961,17 +951,7 @@ lookup(char *symb, int v)
Prog*
prg(void)
{
- Prog *p;
- int n;
-
- n = (sizeof(Prog) + 3) & ~3;
- while(nhunk < n)
- gethunk();
-
- p = (Prog*)hunk;
- nhunk -= n;
- hunk += n;
-
+ Prog *p = malloc(sizeof(Prog));
*p = zprg;
return p;
}
diff --git a/sys/src/cmd/ql/obj.c b/sys/src/cmd/ql/obj.c
index cfa8c335f..f6108ab6e 100644
--- a/sys/src/cmd/ql/obj.c
+++ b/sys/src/cmd/ql/obj.c
@@ -791,12 +791,7 @@ loop:
goto loop;
}
- if(nhunk < sizeof(Prog))
- gethunk();
- p = (Prog*)hunk;
- nhunk -= sizeof(Prog);
- hunk += sizeof(Prog);
-
+ p = malloc(sizeof(Prog));
p->as = o;
p->reg = bloc[2] & 0x3f;
if(bloc[2] & 0x80)
@@ -1073,12 +1068,7 @@ lookup(char *symb, int v)
if(memcmp(s->name, symb, l) == 0)
return s;
- while(nhunk < sizeof(Sym))
- gethunk();
- s = (Sym*)hunk;
- nhunk -= sizeof(Sym);
- hunk += sizeof(Sym);
-
+ s = malloc(sizeof(Sym));
s->name = malloc(l + 1);
memmove(s->name, symb, l);
@@ -1095,17 +1085,7 @@ lookup(char *symb, int v)
Prog*
prg(void)
{
- Prog *p;
- int n;
-
- n = (sizeof(Prog) + 3) & ~3;
- while(nhunk < n)
- gethunk();
-
- p = (Prog*)hunk;
- nhunk -= n;
- hunk += n;
-
+ Prog *p = malloc(sizeof(Prog));
*p = zprg;
return p;
}
diff --git a/sys/src/cmd/vl/obj.c b/sys/src/cmd/vl/obj.c
index 82cff0f22..9d3f9fc29 100644
--- a/sys/src/cmd/vl/obj.c
+++ b/sys/src/cmd/vl/obj.c
@@ -439,23 +439,13 @@ zaddr(uchar *p, Adr *a, Sym *h[])
break;
case D_SCONST:
- while(nhunk < NSNAME)
- gethunk();
- a->sval = (char*)hunk;
- nhunk -= NSNAME;
- hunk += NSNAME;
-
+ a->sval = malloc(NSNAME);
memmove(a->sval, p+4, NSNAME);
c += NSNAME;
break;
case D_FCONST:
- while(nhunk < sizeof(Ieee))
- gethunk();
- a->ieee = (Ieee*)hunk;
- nhunk -= NSNAME;
- hunk += NSNAME;
-
+ a->ieee = malloc(sizeof(Ieee));
a->ieee->l = p[4] | (p[5]<<8) |
(p[6]<<16) | (p[7]<<24);
a->ieee->h = p[8] | (p[9]<<8) |
@@ -479,12 +469,7 @@ zaddr(uchar *p, Adr *a, Sym *h[])
return c;
}
- while(nhunk < sizeof(Auto))
- gethunk();
- u = (Auto*)hunk;
- nhunk -= sizeof(Auto);
- hunk += sizeof(Auto);
-
+ u = malloc(sizeof(Auto));
u->link = curauto;
curauto = u;
u->asym = s;
@@ -748,12 +733,7 @@ loop:
goto loop;
}
- if(nhunk < sizeof(Prog))
- gethunk();
- p = (Prog*)hunk;
- nhunk -= sizeof(Prog);
- hunk += sizeof(Prog);
-
+ p = malloc(sizeof(Prog));
p->as = o;
p->reg = bloc[1] & 0x7f;
if(bloc[1] & 0x80)
@@ -1025,12 +1005,7 @@ lookup(char *symb, int v)
if(memcmp(s->name, symb, l) == 0)
return s;
- while(nhunk < sizeof(Sym))
- gethunk();
- s = (Sym*)hunk;
- nhunk -= sizeof(Sym);
- hunk += sizeof(Sym);
-
+ s = malloc(sizeof(Sym));
s->name = malloc(l);
memmove(s->name, symb, l);
@@ -1046,14 +1021,7 @@ lookup(char *symb, int v)
Prog*
prg(void)
{
- Prog *p;
-
- while(nhunk < sizeof(Prog))
- gethunk();
- p = (Prog*)hunk;
- nhunk -= sizeof(Prog);
- hunk += sizeof(Prog);
-
+ Prog *p = malloc(sizeof(Prog));
*p = zprg;
return p;
}