Quotes are used on Apple target
variants to flag that we must
not add the _ symbol prefix.
This commit is contained in:
Quentin Carbonneaux 2024-04-22 13:58:29 +02:00
parent 99169df2ff
commit b24af7d3f7
3 changed files with 7 additions and 3 deletions

View file

@ -88,7 +88,11 @@ fixarg(Ref *r, int k, Ins *i, Fn *fn)
memset(&a, 0, sizeof a);
a.offset.type = CAddr;
n = stashbits(&fn->con[r0.val].bits, KWIDE(k) ? 8 : 4);
sprintf(buf, "%sfp%d", T.asloc, n);
/* quote the name so that we do not
* add symbol prefixes on the apple
* target variant
*/
sprintf(buf, "\"%sfp%d\"", T.asloc, n);
a.offset.sym.id = intern(buf);
fn->mem[fn->nmem-1] = a;
}

View file

@ -112,7 +112,7 @@ fixarg(Ref *pr, int k, int phi, Fn *fn)
n = stashbits(&c->bits, KWIDE(k) ? 8 : 4);
vgrow(&fn->con, ++fn->ncon);
c = &fn->con[fn->ncon-1];
sprintf(buf, "%sfp%d", T.asloc, n);
sprintf(buf, "\"%sfp%d\"", T.asloc, n);
*c = (Con){.type = CAddr};
c->sym.id = intern(buf);
r2 = newtmp("isel", Kl, fn);

View file

@ -44,7 +44,7 @@ fixarg(Ref *r, int k, Ins *i, Fn *fn)
n = stashbits(&c->bits, KWIDE(k) ? 8 : 4);
vgrow(&fn->con, ++fn->ncon);
c = &fn->con[fn->ncon-1];
sprintf(buf, "%sfp%d", T.asloc, n);
sprintf(buf, "\"%sfp%d\"", T.asloc, n);
*c = (Con){.type = CAddr};
c->sym.id = intern(buf);
emit(Oload, k, r1, CON(c-fn->con), R);