diff --git a/amd64/isel.c b/amd64/isel.c index ed0ba66..b94392e 100644 --- a/amd64/isel.c +++ b/amd64/isel.c @@ -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; } diff --git a/arm64/isel.c b/arm64/isel.c index 870a121..062beb3 100644 --- a/arm64/isel.c +++ b/arm64/isel.c @@ -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); diff --git a/rv64/isel.c b/rv64/isel.c index 1fcf60c..8921a07 100644 --- a/rv64/isel.c +++ b/rv64/isel.c @@ -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);