diff options
| author | Charles Forsyth <charles.forsyth@gmail.com> | 2024-04-22 07:26:53 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-22 07:26:53 +0100 |
| commit | da0a2df935d71d337d0b2aa01c2553a323bc1809 (patch) | |
| tree | 6fed4f55d6709f1d1250c3633e760a5ec6a745da /utils/tl/span.c | |
| parent | 572a60820a14330c774d1420c1cff39908d628ae (diff) | |
| parent | 1b44446e0d632d96dfba82c401b0aa12a1dfc00a (diff) | |
Merge pull request #11 from dboddie/thumb2-compiler-changes
Thumb compiler changes to support Thumb-2
Diffstat (limited to 'utils/tl/span.c')
| -rw-r--r-- | utils/tl/span.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/utils/tl/span.c b/utils/tl/span.c index 85f27621..6d5a0443 100644 --- a/utils/tl/span.c +++ b/utils/tl/span.c @@ -350,6 +350,7 @@ span(void) * add strings to text segment */ c = rnd(c, 8); + INITRODAT = c; for(i=0; i<NHASH; i++) for(s = hash[i]; s != S; s = s->link) { if(s->type != SSTRING) @@ -358,6 +359,7 @@ span(void) while(v & 3) v++; s->value = c; + s->base = -INITDAT; // compensate for assumptions in thumb.c c += v; } } @@ -771,6 +773,7 @@ Optab* oplook(Prog *p) { int a1, a2, a3, r; + int oa1, oa2, oa3; char *c1, *c3; Optab *o, *e; Optab *otab; @@ -808,6 +811,9 @@ oplook(Prog *p) a2 = C_NONE; if(p->reg != NREG) a2 = C_REG; + + oa1 = a1; oa2 = a2; oa3 = a3; + r = p->as; o = orange[r].start; if(o == 0) { @@ -834,7 +840,7 @@ oplook(Prog *p) return o; } diag("illegal combination %A %d %d %d", - p->as, a1, a2, a3); + p->as, oa1, oa2, oa3); prasm(p); if(o == 0) o = otab; |
