summaryrefslogtreecommitdiff
path: root/src/cmd/5l/obj.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/5l/obj.c')
-rw-r--r--src/cmd/5l/obj.c33
1 files changed, 4 insertions, 29 deletions
diff --git a/src/cmd/5l/obj.c b/src/cmd/5l/obj.c
index c4a2bfc3f..dd3a7329a 100644
--- a/src/cmd/5l/obj.c
+++ b/src/cmd/5l/obj.c
@@ -67,6 +67,7 @@ static char*
linkername[] =
{
"runtime.softfloat",
+ "math.sqrtGoC",
};
void
@@ -219,7 +220,7 @@ main(int argc, char *argv[])
elfinit();
HEADR = ELFRESERVE;
if(INITTEXT == -1)
- INITTEXT = 0x8000 + HEADR;
+ INITTEXT = 0x10000 + HEADR;
if(INITDAT == -1)
INITDAT = 0;
if(INITRND == -1)
@@ -241,7 +242,6 @@ main(int argc, char *argv[])
zprg.from.reg = NREG;
zprg.to = zprg.from;
buildop();
- thumbbuildop(); // could build on demand
histgen = 0;
pc = 0;
dtype = 4;
@@ -285,10 +285,8 @@ main(int argc, char *argv[])
asmb();
undef();
- if(debug['c']){
- thumbcount();
+ if(debug['c'])
print("ARM size = %d\n", armsize);
- }
if(debug['v']) {
Bprint(&bso, "%5.2f cpu time\n", cputime());
Bprint(&bso, "%d sizeof adr\n", sizeof(Adr));
@@ -405,14 +403,12 @@ nopout(Prog *p)
p->to.type = D_NONE;
}
-static void puntfp(Prog *);
-
void
ldobj1(Biobuf *f, char *pkg, int64 len, char *pn)
{
int32 ipc;
Prog *p;
- Sym *h[NSYM], *s, *di;
+ Sym *h[NSYM], *s;
int v, o, r, skip;
uint32 sig;
char *name;
@@ -424,7 +420,6 @@ ldobj1(Biobuf *f, char *pkg, int64 len, char *pn)
lastp = nil;
ntext = 0;
eof = Boffset(f) + len;
- di = S;
src[0] = 0;
newloop:
@@ -622,8 +617,6 @@ loop:
else
textp = s;
etextp = s;
- setarch(p);
- setthumb(p);
p->align = 4;
autosize = (p->to.offset+3L) & ~3L;
p->to.offset = autosize;
@@ -631,7 +624,6 @@ loop:
s->type = STEXT;
s->text = p;
s->value = pc;
- s->thumb = thumb;
lastp = p;
p->pc = pc;
pc++;
@@ -673,13 +665,9 @@ loop:
case AMULD:
case ADIVF:
case ADIVD:
- if(thumb)
- puntfp(p);
goto casedef;
case AMOVF:
- if(thumb)
- puntfp(p);
if(skip)
goto casedef;
@@ -701,8 +689,6 @@ loop:
goto casedef;
case AMOVD:
- if(thumb)
- puntfp(p);
if(skip)
goto casedef;
@@ -758,17 +744,6 @@ prg(void)
return p;
}
-static void
-puntfp(Prog *p)
-{
- USED(p);
- /* floating point - punt for now */
- cursym->text->reg = NREG; /* ARM */
- cursym->thumb = 0;
- thumb = 0;
- // print("%s: generating ARM code (contains floating point ops %d)\n", curtext->from.sym->name, p->line);
-}
-
Prog*
appendp(Prog *q)
{