summaryrefslogtreecommitdiff
path: root/utils/tl/thumb.c
diff options
context:
space:
mode:
authorDavid Boddie <david@boddie.org.uk>2023-04-02 18:24:44 +0200
committerDavid Boddie <david@boddie.org.uk>2023-11-16 16:44:28 +0100
commit691df57aba2063cba34cc3bcf0cea90a54e83e76 (patch)
tree7035b23f6c1d2fb1ef0c7e95dd9d180fe251ae8e /utils/tl/thumb.c
parentd8023f9f90be42752d6f61a1a436444f0cfad288 (diff)
Enabled assembly of constant strings into the text segment.
Diffstat (limited to 'utils/tl/thumb.c')
-rw-r--r--utils/tl/thumb.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/utils/tl/thumb.c b/utils/tl/thumb.c
index ff089918..d3324ebf 100644
--- a/utils/tl/thumb.c
+++ b/utils/tl/thumb.c
@@ -181,7 +181,7 @@ thumbaclass(Adr *a, Prog *p)
a->sym->name, TNAME);
a->sym->type = SDATA;
}
- instoffset = a->sym->value + a->offset + INITDAT;
+ instoffset = a->sym->value + a->offset + INITDAT + a->sym->base;
return C_LEXT; /* INITDAT unknown at this stage */
// return immacon(instoffset, p, C_SEXT, C_LEXT);
case D_AUTO:
@@ -213,7 +213,7 @@ thumbaclass(Adr *a, Prog *p)
s->name, TNAME);
s->type = SDATA;
}
- instoffset = s->value + a->offset + INITDAT;
+ instoffset = s->value + a->offset + INITDAT + s->base;
if(s->type == STEXT || s->type == SLEAF){
instoffset = s->value + a->offset;
#ifdef CALLEEBX
@@ -262,7 +262,7 @@ thumbaclass(Adr *a, Prog *p)
#endif
return C_LCON;
}
- instoffset = s->value + a->offset + INITDAT;
+ instoffset = s->value + a->offset + INITDAT + s->base;
return C_LCON; /* INITDAT unknown at this stage */
// return immcon(instoffset, p);
case D_AUTO: